I've packaged etesync-server, what next?

See: GitHub - jmthackett/etebase_ynh

TL;DR I’ve got a working install and am looking at the rest of the lifecycle bits (eg, backup, restore, remove, etc) but would like to know the process for transferring this repository into the yunohost-apps organisation.

I’m also interested to know the answers to some questions I had after reading the documentation and not finding an obvious answer:

  • For removing apps, is it normal to remove the database entirely? At the moment I’m throwing out a database dump into /tmp just in case, but this doesn’t seem very clean.
  • What’s the process for enrolling an app into CI? Judging by the rest of the yunohost-apps, it is a gitlab CI setup that (presumably) gets all the apps in that org.
  • I found in my dev environment (using ynh-dev) that postgres wasn’t installed and enabled by default. This meant my app failed to install until I manually intervened: is there a way to tell yunohost to ensure postgres is present during the install? Is the solution just to use PKG_DEPENDENCIES in _common.sh?

FWIW, my next step is going to be packaging the etesync webapp.

Hey there !

Thanks for all the work !

A few random notes / answer :

  • With the release of 11.1, we are starting to move away from classic ‘v1’ packaging to v2 packaging, feel free to have a look at Packaging v2 | Yunohost Documentation (NB: there’s a script that handle 75%-ish of the work to move from v1 to v2)

  • « For removing apps, is it normal to remove the database entirely? » → Yes, because when the admin asks to remove the app, it should be … removed :sweat_smile:. However it’s not necessarily the case for the app’s “large/big” data (by this i mean the data stored as actual files) … For this there’s now a --purge option in the context of remove script (which is actually now automatically handled in v2 : the apps’s data_dir will only get removed if --purge is specified) … Anyway, there are of course other context to be aware of, such as remove-after-upgrade-failure, but all of this works okay because the DB is included in the safety-backup-before-upgrade

  • « What’s the process for enrolling an app into CI? » → Essentially it “just” needs to be part of the YunoHost-Apps org and if you’re a member of that organization, you can type !testme in a PR comment to trigger a job on the CI, cf also Testing your app | Yunohost Documentation

  • « I found in my dev environment (using ynh-dev) that postgres wasn’t installed and enabled by default. » → Hmyeah for now I think you still need to explicitly have postgresql in your apt dependencies … In fact, the plan is to not install mysql by default on YunoHost in bookworm and instead require app to explictly have mysql in their apt dependencies when they need a mysql DB

  • « the process for transferring this repository into the yunohost-apps organisation. » → Essentially, come to the YunoHost-Apps chatroom Chat rooms | Yunohost Documentation and ask to be invited in the YunoHost-Apps org, after which you’ll be able to go to your repo → Settings → Transfer ownership (at the bottom) and of course you should still be able to contribute to that repo