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.