I have a project that uses Docker Compose to package mysql, Keycloak, and an html front end. The application was originally intended for multiple users but desire has been expressed to use it like a standalone desktop executable application. I was wondering if something like Electron could provide a means to accomplish this.
Does any have any experience packaging a Docker-based web application as a standalone desktop applcation? How feasible and difficult might it be?
It's not really feasible:
(In principle you could work around all of these things, but Docker is intended to run as a system daemon and isn't designed to be embedded in other applications.)
The most straightforward packaging approach for this would be to publish the images to Docker Hub or another publicly-accessible repository, and to publish the docker-compose.yml
file that launches the containers. Then an end user would need to install Docker, download the docker-compose.yml
file, run docker-compose up -d
, and point their browser to a specific URL to reach the front-end. That's less user-friendly than a standalone installer, but it is a small specific set of steps to run the application.
If you can restructure the application to use an embedded database like SQLite, and as a desktop application you don't need a federated login system, then you could also probably rebuild this whole thing as a native Electron application, without involving Docker at all.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With