Using Docker to run services managed by Virtualmin

Hi team,
Searching for Docker support, I mostly find old threads from 2015-2017 pointing to Cloudmin Pro.

We are currently since a dozen years running 4-8 virtual servers per metal root servers, each with a Virtualmin to manage the servers. We did this to allow incompatible applications to be run, and also to separate better domains.

However, this has proven to be cumbersome to manage, and a single site could still overload CPU of the virtual host or SSD disk accesses of the underlying bare metal server.

We are looking to modernize that approach using Docker (possibly with Kubernetes or Docker Swarm) directly on metal root servers, but are lacking a nice hosting-panel platform to manage a standard hosting with web, mail and all underlying services as well as security settings, like managed by Virtualmin, but running services inside docker containers instead of the virtual server where Virtualmin runs.

Is there any plans for Virtualmin to dockerize the services of a virtual domain ? (e.g. for each virtual domain: webserver in a docker, database in another, dns server in a third one, ftp server in a fourth, virtual-server’s virtualmin instance in a fifth). This could run elegantly e.g. as a Kubernetes Operator and a Kubernetes Service. Kubernetes can elegantly limit CPU and disk loads.

And if there are no plans for Virtualmin, are there any other plans or recommendations ?

Or could someone implement something like that with Virtualmin ?

In case you are using Apache, to avoid CPU overload have you applied settings to Virtualmin -> Services -> Configure Website / SSL Website -> Processes and Limits? This might help manage resources till you find an alternative control panel to manage docker instances.

There are vague feelings, no firm plans. It’d be a major undertaking that would fundamentally alter a lot of bits and pieces. We’re releasing Virtualmin 7 in the next few weeks which will sort of wrap up or formally document and support some big features that have been developed over the past few months.

A few weeks after that things should calm down enough to where we can start to think about new directions, though how ambitious we can be depends on what kind of revenue we have to fund development. We haven’t been hit super hard by the economic downturn, but we’re also not in a position to do this full-time.

That said, there’s already nothing, not a single solitary thing, preventing you from running your database(s) in containers. I already do it with a PostgreSQL server I’m using for our new auth server. Virtualmin has good support for remote databases (and Cloudmin Services automates much of it). We don’t manage those containers, but if you’ve got a containerized MySQL or PostgreSQL up and running if you give Webmin the authentication info, it’ll work with Virtualmin (won’t be able to start/stop/monitor it without you filling in the necessary commands in the Webmin module configuration for it, though).

And, I believe one could make a Webmin+BIND container pretty easily. That would also work with Virtualmin without any modification. Heck, maybe I’ll make that my next big project after I get our website and billing system sorted out.