Purpose of folder `/home/yunohost.app`?

Hello guys,
As daily users of YunoHost we have recently tried to install Nextcloud for one of our instances. We miserably failed the installation because of a “following symlinks is not allowed” EM during the setup. We had been bold enough to create a symlink between /home/yunohost.app and /data/yunohost (because /data/ was part of our architecture). Okay so Nextcloud doesn’t allow symlink, fair enough… But then we thought, what’s the true purpose of the yunohost folder /home/yunohost.app?
Yunohost apps get installed in /var/www but you can also find some data of SOME YunoHost apps in yunohost.app? I can’t find any documentation about this folder and more generally it’s quite hard to find documentation about the architecture of Yunohost folders so could someone explain it to me?

Many thanks :slight_smile:

Yeah it’s kind of an undocumented mess because those de-facto standard practice kind of appeared organically … (and also because Yunohost tends to be more focused on webadmin UI … though being able to easily define where to store data is definitely something important)

/home/yunohost.app/ is where you can expect apps to store “large” datas that don’t fit into a database. More precisely in /home/yunohost.app/the_app_name/ Though that’s a rule of thumb and some apps may not properly put their data in such a folder (in which case imho this should be considered as a bug of the app)

In the future, we may try to reorganize the architectures (ie apps are usually in /var/www/$app, but some are in /opt/yunohost) : we should have may an /app/ folder at the root of the filesystem as a replacement for the /var/www/$app and /opt/yunohost mess, and maybe a /data/ as a replacement to /opt/yunohost … It’s a bit tricky to design as there are many consideration and implication being this (the biggest one being what do you do with existing setups …)

The initial motivation to put this “data” folder in /home/ was that /home/ in general is expected to contain other kind of data (user home which may be mounted in nextcloud and thus contain data, and /home/yunohost.backup containing the backup archive) and it’s classical to have /home/ in a separate partition, typically with a larger amount of space than the filesystem’ root

2 Likes

Thank you @Aleks for this thorough explanation. It will greatly help us!