Installing custom Apps on Cloudron
-
@fbartels so basically what I proposed here Proposal: The CUR - Cloudron User Repository
I said in Proposal: The CUR - Cloudron User Repository:
Now imagine a CUR.
With a simple click in the setting you can enable the CUR and can install a community app to test and give feedback. -
@fbartels so basically what I proposed here Proposal: The CUR - Cloudron User Repository
I said in Proposal: The CUR - Cloudron User Repository:
Now imagine a CUR.
With a simple click in the setting you can enable the CUR and can install a community app to test and give feedback. -
There is also this topic Proposal: The CUR - Cloudron User Repository
What do you people think of the following?
Adding an input field in the app-store view to directly upload aCloudronManifest.json
.Mockup:
To make this work, a new optional
'key': 'value'
in theCloudronManifest.json
would be needed to add the Docker Image information so Cloudron knows where to pull the image from for this custom app.
Example from @BrutalBirdie custom FounderyVTT app => https://forum.cloudron.io/topic/8296/foundry-virtual-tabletop // https://github.com/BrutalBirdie/cloudron-foundryvtt{ "id": "foundryvtt.cloudron.app", "title": "FoundryVTT", "author": "Elias Hackradt ", "tagline": "FounderyVTT", "upstreamVersion": "13.345", "version": "1.2.0", "healthCheckPath": "/", "icon": "file://logo.png", "tags": [ "game", "multiplayer" ], "memoryLimit": 1342177280, "httpPort": 30000, "manifestVersion": 2, "minBoxVersion": "5.3.0", "addons": { "localstorage": {} }, "dockerimage": "brutalbirdie/foundryvtt.cloudron.app:1.2.0" }
This would make the barrier relatively small in my opinion.
Looking forward to reading your opinions.
-
I have thought long and hard about this.
I welcome anything to make it easier for regular users to deploy a custom app.
Uploading manifest (but remember the logo referenced in the manifest also if used), or the CUR can work.
These are good measures, but require some changes to Cloudron.And frankly (unless I have misunderstood) it's still too much for some users. They need something vaguely similar to what they have, as a minimum a walk-through which handles the tech stuff.
I am working on a solution.
Think I have got past a critical point, and will finish off tomorrow.
Will post it here. -
OK, so <nervously> how about this ?
Not sure if it gets me bannedfor side-stepping Cloudron process.
But all I am doing is presenting the Cloudron manual process for custom app install in a GUI with backend execution.I present <drum roll> for your review and comments :
"CCAI" a Cloudron Custom App Installer.A GUI which :
- logs the user in to their cloudron,
- gets details from the user of the target custom app to be installed,
- performs the custom install, and
- logs out on completion (and on error).
Features :
- security sensitive : no login details saved
- user does not need to install CLI on their local device
- user does not need to use the scary terminal on their device
- user does not need to download or clone any custom app repo
- user does not need Docker installed, and does not need to build a Docker image
Pre-requisites :
- the target custom app's publicly available git repo containing CloudronManifest.json and an icon file, e.g. logo.png but whatever, and a POSTNSTALL.md
- the target custom app's publicly available hosted pre-built docker image
Demo Site : https://ccai.appx.uk
(may go up and down as further tweaks are made, available for your review and live usage)Source code available at https://git.cloudron.io/timconsidine/cloudron-customapp-installer
- EITHER :
- install CCAI (ah, maybe a gotcha, you have to do it manually for now, but I'm hoping Cloudron will approve this as an app),
OR - use a kind developer's "hosted-as-a-service" CCAI (see BONUS below)
- visit e.g. ccai.domain.tld (or try https://ccai.appx.uk)
- enter data
- enjoy the new custom app installed on your cloudron.
NOTE : developers who want to share their custom app should make a pre-built image and host it at a publicly accessible docker registry. But hey, if you can make a custom app, you can build and host a docker image.
BONUS :
Although not designed deliberately, as an unintended bonus, once CCAI has been deployed, it should be able to install a custom app on any Cloudron (provided access is granted).
So actually user does not need to install their own CCAI, unless they want to for privacy. They can just use another deployed instance, e.g. from a custom app dev, or even from Cloudron itself.
Feel free to anonymously use my deployment https://ccai.appx.uk to install custom apps to your own cloudron (no login or usage details saved).WARNING - this is an alpha release.
I need to test with more custom apps (only done my own).
Volunteer testers very welcome !So ... @staff would you be ok to make this an official App Store app ?
Feel free to re-write it however you wish, you're the professionals, I'm just hacking about -
Admittedly CCAI as above does nothing about "discovery" of custom apps.
I favour low-tech approaches where possible.
Why not just make a new forum category "CustomApps" ?
One post for each custom app a dev wants to make available.
Some 'house rule' that custom apps must be maintained by the original dev, and if that ceases, to update the post accordingly.EDIT : CCAI could be extended to load a custom app install data from a dropdown list of known apps, in addition to manual entry of a custom app's data.
EDIT #2 : CCAI now has a dropdown to populate known custom app install data.
Makes testing easier.
Because finding a custom app with pre-built docker image to deploy is not easy.
And it could be valuable functionality if the app is left running as a service. -
Admittedly CCAI as above does nothing about "discovery" of custom apps.
I favour low-tech approaches where possible.
Why not just make a new forum category "CustomApps" ?
One post for each custom app a dev wants to make available.
Some 'house rule' that custom apps must be maintained by the original dev, and if that ceases, to update the post accordingly.EDIT : CCAI could be extended to load a custom app install data from a dropdown list of known apps, in addition to manual entry of a custom app's data.
EDIT #2 : CCAI now has a dropdown to populate known custom app install data.
Makes testing easier.
Because finding a custom app with pre-built docker image to deploy is not easy.
And it could be valuable functionality if the app is left running as a service.Why not just make a new forum category "CustomApps" ?
One post for each custom app a dev wants to make available
Some 'house rule' that custom apps must be maintained by the original dev, and if that ceases, to update the post accordingly.This totally prevents the use cases of private custom apps.
-
OK, so <nervously> how about this ?
Not sure if it gets me bannedfor side-stepping Cloudron process.
But all I am doing is presenting the Cloudron manual process for custom app install in a GUI with backend execution.I present <drum roll> for your review and comments :
"CCAI" a Cloudron Custom App Installer.A GUI which :
- logs the user in to their cloudron,
- gets details from the user of the target custom app to be installed,
- performs the custom install, and
- logs out on completion (and on error).
Features :
- security sensitive : no login details saved
- user does not need to install CLI on their local device
- user does not need to use the scary terminal on their device
- user does not need to download or clone any custom app repo
- user does not need Docker installed, and does not need to build a Docker image
Pre-requisites :
- the target custom app's publicly available git repo containing CloudronManifest.json and an icon file, e.g. logo.png but whatever, and a POSTNSTALL.md
- the target custom app's publicly available hosted pre-built docker image
Demo Site : https://ccai.appx.uk
(may go up and down as further tweaks are made, available for your review and live usage)Source code available at https://git.cloudron.io/timconsidine/cloudron-customapp-installer
- EITHER :
- install CCAI (ah, maybe a gotcha, you have to do it manually for now, but I'm hoping Cloudron will approve this as an app),
OR - use a kind developer's "hosted-as-a-service" CCAI (see BONUS below)
- visit e.g. ccai.domain.tld (or try https://ccai.appx.uk)
- enter data
- enjoy the new custom app installed on your cloudron.
NOTE : developers who want to share their custom app should make a pre-built image and host it at a publicly accessible docker registry. But hey, if you can make a custom app, you can build and host a docker image.
BONUS :
Although not designed deliberately, as an unintended bonus, once CCAI has been deployed, it should be able to install a custom app on any Cloudron (provided access is granted).
So actually user does not need to install their own CCAI, unless they want to for privacy. They can just use another deployed instance, e.g. from a custom app dev, or even from Cloudron itself.
Feel free to anonymously use my deployment https://ccai.appx.uk to install custom apps to your own cloudron (no login or usage details saved).WARNING - this is an alpha release.
I need to test with more custom apps (only done my own).
Volunteer testers very welcome !So ... @staff would you be ok to make this an official App Store app ?
Feel free to re-write it however you wish, you're the professionals, I'm just hacking about@timconsidine nice proof of concept. It could help pave the way to have it natively inside a Cloudron's dashboard.
Like you mentioned, discovery of custom apps by the means of repositories is much needed, and would facilitate the use of this feature.
-
Why not just make a new forum category "CustomApps" ?
One post for each custom app a dev wants to make available
Some 'house rule' that custom apps must be maintained by the original dev, and if that ceases, to update the post accordingly.This totally prevents the use cases of private custom apps.
@Lanhild err yes ... and no
Feature rather than a bug/omission.
It wasn't designed for private custom apps.
It was designed to help those users who hate or are not familiar with terminal and docker building to deploy public custom apps.It doesn't prevent use of private apps - just install them manually.
I could look at extending it for private apps, with more logins / auth to the repos.
Maybe I thought wrongly, but I worked on the basis that the priority is public custom apps, and those with private custom apps were probably ok with building and deploying in the traditional way.
If I got that wrong, happy to review.
-
@Lanhild err yes ... and no
Feature rather than a bug/omission.
It wasn't designed for private custom apps.
It was designed to help those users who hate or are not familiar with terminal and docker building to deploy public custom apps.It doesn't prevent use of private apps - just install them manually.
I could look at extending it for private apps, with more logins / auth to the repos.
Maybe I thought wrongly, but I worked on the basis that the priority is public custom apps, and those with private custom apps were probably ok with building and deploying in the traditional way.
If I got that wrong, happy to review.
@timconsidine My point was mainly about the would be final implementation in Cloudron. If such a feature were to be added to Cloudron, I believe that private and public custom apps should both be prioritized for it. Cloudron is very facilitating on the infrastructure part of deploying code apps, thus why I think this. Your POC demonstrates this aspect clearly.
-
Understood
You got me thinking about how private repos could be supported.
I guess itβs just another login.
But not sure about the pre-built docker image. -
For those not wanting to spend time on installing or using deployed instance, here's a 2min video showing the process.
https://ccai-demo.appx.uk