Update on community packages
-
We would like to add support for Community packages as part of 9.1. The idea is that a 3rd party developer can create a cloudron package and provide it to other users with no intervention by cloudron team. I have implemented most of the stuff. Here's how it will look like:
- The CLI tool gained some new commands - cloudron versions init/add/update/list. This just manipulates a file named CloudronVersions.json .
- CloudronVersions.json has to be uploaded somewhere (or serve it straight from git repo).
- There is a button in the App store view to install a community app.

- Test with a URL like
https://git.cloudron.io/playground/contacts/-/raw/main/CloudronVersions.json - After this, it will show the app and install just like any other app.

- A new packager name appears in the Info

Other than that, updates etc works like a normal app.
-
We would like to add support for Community packages as part of 9.1. The idea is that a 3rd party developer can create a cloudron package and provide it to other users with no intervention by cloudron team. I have implemented most of the stuff. Here's how it will look like:
- The CLI tool gained some new commands - cloudron versions init/add/update/list. This just manipulates a file named CloudronVersions.json .
- CloudronVersions.json has to be uploaded somewhere (or serve it straight from git repo).
- There is a button in the App store view to install a community app.

- Test with a URL like
https://git.cloudron.io/playground/contacts/-/raw/main/CloudronVersions.json - After this, it will show the app and install just like any other app.

- A new packager name appears in the Info

Other than that, updates etc works like a normal app.
@girish awesome, thank you so much.
Very smooth and integrated in UI
So, making sure I understand it correctly, for a CustomApp, the packager really just needs to add
CloudronVersions.jsonto their repo (in addition to CloudronManifest.json, Dockerfile etc.) ? Neat !
You said in a separate post you would defer the question of a catalogue of custom apps : is that still the thinking ?
TBH, with your neat approach, I am questioning whether a catalogue is needed. Every custom app (well, 99.999%) has a topic in the forum's AppWishlist category, and the packager can just post a message there with the repo details, including the relevant CloudronVersions.json file.
-
@girish awesome, thank you so much.
Very smooth and integrated in UI
So, making sure I understand it correctly, for a CustomApp, the packager really just needs to add
CloudronVersions.jsonto their repo (in addition to CloudronManifest.json, Dockerfile etc.) ? Neat !
You said in a separate post you would defer the question of a catalogue of custom apps : is that still the thinking ?
TBH, with your neat approach, I am questioning whether a catalogue is needed. Every custom app (well, 99.999%) has a topic in the forum's AppWishlist category, and the packager can just post a message there with the repo details, including the relevant CloudronVersions.json file.
@timconsidine said in Update on community packages:
So, making sure I understand it correctly, for a CustomApp, the packager really just needs to add CloudronVersions.json to their repo (in addition to CloudronManifest.json, Dockerfile etc.) ? Neat !

Yes, correct.
cloudron versions addsimply creates CloudronVersions.json with the current manifest and current build information. Hopefully, it's all as obvious as I am making it sound
From the installation point of view, the repo can be closed, docker image can be private. Only the CloudronVersions.json has to be public.
I have added two new fields on the manifest - packagerName and packagerUrl.
Going forward, the icon in manifest will be deprecated. We will use iconUrl instead.
You said in a separate post you would defer the question of a catalogue of custom apps : is that still the thinking ?
Yes, let's think about how people discover these versions files once we have released this.
-
I would ask, for simplicity, that you require the developer to put the JSON in a fixed/predictable path, and allow the user to paste the URL for the main GH repo. Asking users to find the "raw" link is likely hard/confusing. Put the onus on the person packaging, not the person installing?
-
We would like to add support for Community packages as part of 9.1. The idea is that a 3rd party developer can create a cloudron package and provide it to other users with no intervention by cloudron team. I have implemented most of the stuff. Here's how it will look like:
- The CLI tool gained some new commands - cloudron versions init/add/update/list. This just manipulates a file named CloudronVersions.json .
- CloudronVersions.json has to be uploaded somewhere (or serve it straight from git repo).
- There is a button in the App store view to install a community app.

- Test with a URL like
https://git.cloudron.io/playground/contacts/-/raw/main/CloudronVersions.json - After this, it will show the app and install just like any other app.

- A new packager name appears in the Info

Other than that, updates etc works like a normal app.