Add a 3rd Party section after App Store
-
From the thread here: https://forum.cloudron.io/topic/2346/openlitespeed-wordpress/9?_=1598318317291
From a UI point of view, maybe keep App Store as your supported Managed Apps and have separate section, maybe just called "3rd Party"
Maybe an "Add Repositories" button to add GitLab Group or Project URLs?
-
@marcusquinn said in Add a 3rd Party section after App Store:
Maybe an "Add Repositories" button to add GitLab Group or Project URLs?
Using gitlab or a project URL is not very feasible, because the APPs for Cloudron must be docker images, so as far as gitlab.com is concerned it works because it offers an integrated registry, but if you use self-hosted GitLab, github, gitea etc etc it would not work.
i think a good flexible and easyer solution is to being able to import a JSON file hosted on a public http / https server (which can be gitlab, github, nginx etc. etc.), with:
- the list of apps, and a copy of each app manifest to be imported in the store.
- the registry where the images are hosted and if access to the registry is needed.
This would allow us to use external registry also protected by token, which is very useful to us if we ever want to release applications only for our customers, or verified external user.
and also for cloudron it should be easier to develop a script to import and process a json, compared to an autodiscover of images on a project or a registry. -
however if it is a single app you should do it via CLI, it is very easy to install an app from dockerhub.
-
With the CLI, you can just do
cloudron install --image <docker image>
. For the UI, would it make sense to make allow the user to upload a manifest? We can extend the manifest to container docker image information. This way, user can download manifest from wherever, upload it to his cloudron. This does require the docker image to be public though. -
This feature request sounds similar in a way to what Portainer allows for - an external list of apps / catalogue items. Portainer calls this function "Templates" and allows for adding external lists of templates to easily deploy new app stacks from. It needs to read a JSON file to display the app templates. Reference: https://portainer.readthedocs.io/en/stable/templates.html
And I'd definitely like something like that. This is almost - in a small way - also similar to my own suggestion here: https://forum.cloudron.io/topic/2878/feature-request-add-custom-app-to-app-store-for-local-cloudron?_=1598410841843
-
@MooCloud_Matt said in Add a 3rd Party section after App Store:
however if it is a single app you should do it via CLI, it is very easy to install an app from dockerhub.
That should be added to the GUI then too so people can deploy from their tablets if needed while on the go.
-
@d19dotca
it's really not so important because if you want to install a custom app you any way need to build it, so in any case you will use Docker CLI or Cloudron Builder with your terminal, and its easyer to just typecloudron install --image
-
@girish
duplicate the entire store is complicated i suppose, probably its just easyer to check the manifest file on the remote server (git repo, or http server), if the version match what you have locally or not.
Or just let the client manage the update manually with CLI or API. -
@MooCloud_Matt I honestly haven't tried anything other than the App Store, so I maybe speaking blind, but my use-case would be to get Apps running for testing that others have packaged because they either aren't approved yet, or won't be approved since that would be the Cloudron's team commitment to then maintain. so, we wouldn't have done the packaging.
I'm trying to free time up on our team so we can help with packaging and maintenance too - but for now we're only working with what we find in the App Store and community here.
-
@MooCloud_Matt said in Add a 3rd Party section after App Store:
@d19dotca
it's really not so important because if you want to install a custom app you any way need to build it, so in any case you will use Docker CLI or Cloudron Builder with your terminal, and its easyer to just typecloudron install --image
I respectfully disagree. As @marcusquinn alluded to (if I understand his request correctly), the point of this was really to be able to deploy apps that other people have already made/packaged which just aren’t yet “official”. So while it’s true that the CLI would be in the workflow better than the GUI if I’m building my own custom app, that logic simply doesn’t apply to an app that’s already been built and hosted on Docker Hub by someone else - which I believe was the initial point of the feature request... to be able to point to a different repository of apps (or an app itself) hosted somewhere else that is “unofficial” (not maintained by the Cloudron team) and deploy from that location.
Maybe put another way - the request here is similar to how people can choose to use a different App Store on Android (as opposed to iOS where there is only one such App Store), thus having a different repository of apps to choose from.
-
@d19dotca
i see, but i actually never trust external build image especially in production, if i dont know the publisher.
but in that case u need to provide cloudron a manifest too, and if as @girish proposed to extend the manifest to include the image information that its really easy to do.But the biggest issue is not a single app, the API already provide the possibility to install custom apps, its just miss the UI to do that, but its already supported.
The biggest issue are how to add external repository of multiple Apps to the store.
-
@d19dotca
Ok,
after reading your edit, i really think that installing an custom app from UI is easy, as API are there to do that.
But is not the same as supporting external repo that show apps on the store, and support the auto-update feature in cloudron. -
@MooCloud_Matt Correct. The feature request could almost go in two different directions (or be two different phases), in my view.
Direction #1: Able to add specific third-party app packages (whether it's from someone you trust or your own packages). This is similar to what I had requested previously here too in another post: https://forum.cloudron.io/topic/2878/feature-request-add-custom-app-to-app-store-for-local-cloudron?_=1598410841843
Direction #2: Able to add a whole third-party "App Store". This is similar to how Portainer does it, where it reads a JSON file which defines all the stacks that run apps like WordPress (where it requires both a WordPress container and a MySQL container). Of course this method for Portainer works a bit easier because it's just deploying standard Docker containers (often just from the publisher themselves) rather than needing a custom package manifest, etc. I also linked to the Portainer documentation on Templates earlier too: https://portainer.readthedocs.io/en/stable/templates.html
-
@MooCloud_Matt said in Add a 3rd Party section after App Store:
i really think that installing an custom app from UI is easy, as API are there to do that.
Have you made any progress on this for a single custom app?