Potential Cloudron Theme/Dashboard
-
Thanks @girish!
Do you use the Cloudron API to get the list of apps and show the apps dynamically?
Yep! Check out the code for that here.
For the Cloudron dashboard, we want to keep it for "admin" tasks and not for the end users of Cloudron.
That was exactly my thinking. The idea for Homepage is that it's an easy-access dashboard to open one's apps, but leave any admin tasks to the current built-in dashboard.
Great suggestions!
- Dark theme
It kind of already is? I mean the images pulled from Unsplash are random (by design) so it might be hard to only do dark images? Did you have anything in mind?
- Custom app icons (https://git.cloudron.io/cloudron/box/-/issues/350)
The issue you linked to mentions not custom icons, but custom links (which is actually what the original Homepage app consists of). Adding more custom links is definitely doable. I'm wondering what's a good way to go about letting the user put the apps in a specific order...
- i18n/localization
Neat! Again, there isn't a whole lot of text here besides the Unsplash attribution. But happy to try and localize that if people want to contribute translations. The clock/timestamp at the top right is configurable through the config.json file, so users can make that 24hour, am/pm, whatever they want.
- Allow user registration - we can provide APIs for this, if there is interest.
I think this is where it becomes a bit outside the scope of Homepage, as it's meant to just be a simple window to access one's installed (or external?) applications. Open to hearing more about your thoughts though.
-
@thetomester13 this is awesome! I love it.
I've been meaning to ask for something like this for ages and meanwhile you've not only gone and suggested pretty much exactly what I've been thinking, but you've gone and coded most of it up too - amazing!
-
@jdaviescoates thanks! Feel free to give it a spin and let me know if you have any thoughts or suggestions!
-
@girish Had a thought for the base Cloudron image/API to help make such a dashboard (and potentially others) more accessible to everyday users. At the moment, for Homepage to run properly, it requires the user create a new API key and insert it into the config.json file through the Terminal. The only calls needed by the application are the GET for
/api/v1/apps
and/api/v1/apps/{$cloudron_app_id}/icon
for getting the list of applications installed on this Cloudron instance and their respective icon files.The thought is what if the Cloudron API white-listed some calls to its own internal IP/URL? Not sure if this is a thing, but pretty much, if a call is made to the endpoints above (and potentially other 'harmless', non-destructive endpoints), and the referring URL is on the instance's own domain (i.e. the call to
my.cloudron.com/api/v1/apps
is coming fromhomepage.cloudron.com
) then it wouldn't necessarily need an API key.If this were implemented, then Homepage and future dashboard apps wouldn't need any user intervention in order to display all the Cloudron instance's installed applications and icons.
Just a thought! Happy to hear what you think of such a solution.
-
I very much like the idea for such a dashboard being installed as an app instead of trying to make the main/admin dashboard overly configurable or theme-able.
For app listing, we could add a new app addon type which gets a restricted access token to fetch app listings and meta information. However we have to see how that works with regards to the access controls. For future auditing reasons, it may be better to not add some whitelisting mechanism which circumvents token validation. I wonder if the mentioned APIs would be sufficient for a good dashboard?
-
I very much like the idea for such a dashboard being installed as an app instead of trying to make the main/admin dashboard overly configurable or theme-able.
Agreed! I like the idea of a new addon type that would give an app 'automatic access' (doesn't have to be configured by end user) to some API endpoints. I agree with @girish that read-only access would work, but even just the 2 endpoints I listed above would be a solid start. I could eventually see endpoints like 'Get Status' or streams from tasks or services being handy for such dashboards.
-
@thetomester13 said in Potential Cloudron Theme/Dashboard:
homepage-cloudron
Hey there @thetomester13, is this something I can try out? I understand the rudiments of building and installing custom apps, but not sure if I need to fork your repo, of just cloning it will work. I requested access on gitlab.
-
@BrentHueth absolutely it's something you can try out! You can simply clone the repo and then do a
cloudron build
andcloudron install
(there are some prerequisites to this, be sure to check the official Cloudron documentation). I gave you developer access to the repo in case you did want to contribute, just know that the git.cloudron repo is the Cloudron packaged app, you can find the actual application on Github here. -
@thetomester13 If I'm not your first thrilled user, well then I'm another
-
@BrentHueth that makes me happy
@murgero yes, this is similar to Heimdall, it's based off of this Github project of which I'm the author. This particular app is purposefully packaged for Cloudron in that you give it an API key and it will auto-populate with all of your Cloudron apps, so no custom links at the moment.
-
@thetomester13 That's pretty cool!! I'll have to give this a shot then Thanks!
-
@girish No package, it's a simple PHP script - just used the LAMP app. I'd be happy to package it though if there is enough demand for it. That said I do not want to take over this thread so if anyone wants it - start a new thread.
-
We probably won't merge it into Cloudron itself but as a stand alone project which is packaged for Cloudron, we have no problems. Happy to publish it in our App Store as well (but it has to be a stand alone project like the rest of the apps we package).