[Suggestion] Server-Wide Database Manager and File Browser
-
Hi,
For Cloudron to be really useful to Web developers, I believe it needs to offer a way to manage all databases and files (Docker volumes, i.e. /app/data) on the server. For example, WordPress developers like to edit theme files directly through SFTP or a Web File Manager.
I know the LAMP app supports SFTP and phpMyAdmin but it is restricted only to this app (not able to manage the WordPress app for example).
The ideal way would be to integrate these features directly in the admin dashboard (like the Terminal), with the added important advantage of 2FA integration (missing in LAMP app).
Good candidates are phpMyAdmin (DB), https://pydio.com (Web File Manager) and SFTP server with TOTP module... but the two first are PHP applications so not compatible with the current Node.js based dashboard so I'm not too sure how we could work this out. I've seen some ways to apparently run PHP through Node.js but more investigation would be needed.
I'm ready to help if there is interest. Happy to hear your thoughts, thanks!
-
@gabrielcossette Thanks for the suggestion! We actually investigated this a couple of releases back and it's not simple to add. For the file browser, the UI parts are actually straight forward but the complication is with accessing the docker volumes. Accessing the data inside docker volumes will require the box code to somehow know the container user (to get the right permissions for files) and will also require the box code to run as root. This requires quite some engineering work.
Just giving some background on why this has not been done yet.
-
This post is deleted!
-
Maybe some inspiration from how this Wordpress plugin does it with Adminer:
https://github.com/andrewcy86/ari-adminer
Covers all the DB types too:
-
We now have a simple file browser in 5.4
-
@girish And very nice work too!
Just in case you didn't note, Adminer I've tried before in WP stacks and it's covered all I could imagine needing for DB Admin and seems designed for this kind of embedded use. Not sure what other options there are in this space but it might save you re-inventing.
-
@Lonk Add
/phpmyadmin/
to the URL and PhPMyAdmin should be there: -
@marcusquinn I tried it and it didn't work. I'll just see if I can get Sequel Pro working via Remote SQL. ️
-
@Lonk Ahh, maybe it was just the LAMP app and I'm thinking of FTP for Wordpress. Sometimes things change before Docs updates though.
-
@marcusquinn Ah, so it is possible to maybe get that working with Wordpress but I'd rather get Remote SQL working instead like you said you managed to do on another post. My attempts haven't worked up till now.
-
@Lonk Old guy memory here, I think I only used phpmyadmin with the LAMP app and was thinking of FTP. Agree though, it'd be handy.
I've recommended https://www.adminer.org before as a handy way to make it part or Cloudron.
-
@girish I have a solution to this if we can add a new container type to use for this. It's called sysbox from nestybox. You have an email from me about this.
It allows for running full machine images in sysbox container managed by docker. No root required, but you get root inside + full OS mount options for storage, etc..
Also should look at mayadata.com and OpenEBS which is flexible storage attachment for containers.
Friends of both
-
@Lonk I got what I needed done with it as a WP plugin, although it was removed from wordpress.org:
-
@marcusquinn Thanks, I'll check those out, but I usually like database management to be detached from the Wordpress backend for security reasons.
-
@Lonk Yeah, of course - but it's a way to get DB access when it's not otherwise available externally. I tend to delete them after use just to be sure.
-
@Lonk @marcusquinn This is part of https://forum.cloudron.io/topic/2760/what-s-coming-in-6-0. The "unify PHPMyAdmin across apps" part. We haven't really investigated what is the best way to implement it.