[app v2] Installing to /opt/yunohost/__APP__ fails package_check.sh

When testing my Trilium Notes packaging_v2 branch running a package_check fails because the script is not passing -p (–parent) when it attempts to create /opt/yunohost/trilium. I reported this issue here. Does anyone have a workaround for this?

The solution is PR 1609 for yunohost core.

Cheers for the fix, but as said in [Fixes 2158] Create parent dirs when provisioning install_dir by p4p4j0hn · Pull Request #1609 · YunoHost/yunohost · GitHub , please stick to /var/www/__APP__ (the default value) considering that Trillium is a webapp :sweat_smile:

I’m changing that in my packaging_v2 branch. I’m thinking of closing my PR to upgrade to 0.58.8 and just include it in the change to packaging v2. I’m running a local check right now on packaging_v2 using all the default directories since all the issues I was having have been fixed in yunohost core.

1 Like

Trilium PR #38 is ready for testing/review.

I made the changes you requested to Trilium pr 38

1 Like

@ericg I tested the Trilium testing branch and it looks like we need to remove the @privileged filter from SystemCallFilter in the systemd service file.

If I may hijack this thread, how do you define “webapp”?
For example I have domoticz, Zwave-UI-Js and UMS which are all heavily hardware dependant: are they considered as webapp to be installed in /var/www/ or “other app” to be installed in /opt/yunohost??
TBH, so far I’ve set the in whatever the first install tuto has recommended me to do so… I’d just want to stick to the rule… but I don’t understand the rule… :confused:

A webapp is an app that … expose stuff on the web :sweat_smile:

Typically if your app asks for a domain during install, and adds an nginx config so that you access some stuff using a web browser

For example, Nextcloud is a webapp, but Borg is not, because Borg only adds “system” or “internal” features, and you interact with it using the config panel of YunoHost’s webadmin or through CLI, but Borg doesnt have “it’s own web pages”

Same for VPNclient or Hotspot or Restic for which the primary feature is to add technical / system / internal features, not to expose a webapp

You may imagine some special case like maybe Wireguard, which may include some sort of web interface, but imho the main thing is about the network / VPN stuff and not the web interface which should ideally be a separate app. Same for Mumble which may install the Mumble-web interface too by default ? (I’m not sure, I think it’s a separate app)

Regarding Domoticz and Zwave stuff, I would naively say that’s a webapp, though this MQTT / Mosquitto thing adds some ambiguity (I don’t know much about what all of these do)

Same for UMS

For ambiguous cases, I would go with the general rule of thumb of “would the app still be useful if you removed the web part ?”

But anyway all of this stuff about /var/www/ vs /opt/ is a bit “meh”. Ultimately all apps should be installed in some /apps/ or /var/apps/ folder (location still to be defined) which is agnostic of wether it is web-related or not

1 Like