Extend support for app pinning

We have basic support in the setup-apps script to allow downloading apps from github releases. We have two edge cases that we can't cover with this currently:

  • The appointments app has github releases, but they don't include any assets. We should either convince the maintainer to include an asset with the app tarball, or create a raw_url field to allow pointing to the right raw file url https://github.com/SergeyMosin/Appointments/raw/{{ .version }}/build/artifacts/appstore/appointments.tar.gz.
  • The passwords app lives on a self-hosted gitlab.
    • We currently hard-code the base url, so this would need something like the raw_url field as well.
    • The project doesn't actually create gitlab releases since a few years. The releases are done using a CI pipeline, but the assets that creates are not available under a guessable URL. In theory, we can get them from nextcloud's huge apps.json index file.
    • For renovate, this would need a gitlab datasource instead of the hardcoded github one; in particular, the datasource would have to be configurable per app.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information