App structure
A Yunohost app package is a Git repository with such a structure:
myapp_ynh
โโโ manifest.toml # The manifest
โโโ scripts # The scripts
โ โโโ _common.sh
โ โโโ install
โ โโโ remove
โ โโโ backup
โ โโโ restore
โ โโโ change_url
โ โโโ upgrade
โโโ conf # The configuration files to install
โ โโโ cinny.json
โ โโโ nginx.conf
โโโ doc # The documentation
โ โโโ DESCRIPTION.md
โ โโโ DESCRIPTION_fr.md
โ โโโ PRE_INSTALL.md
โ โโโ screenshots
โ โโโ screenshot.png
โโโ patches # Optional patches
โโโ tests.toml # The tests manifest
โโโ LICENSE
โโโ README.md
The manifest contains upstream information, sources, version, installation questions and resources to initialize.
The scripts are called by YunoHost when operations are started by the admin.
The configuration files are templates that are filled and installed by the scripts, for example nginx or systemd or specific configs.
Patches are applied when downloading the upstream sources.
The documentation is used to show messages before / after install, upgrade, and in the webadmin.