I’m a newbie to docker and don’t know if docker and Virtualmin integrate well with each other.
My hope is to run the killbill billing software which is installed using docker. I would like to have virtualmin running on the same machine, as virtualmin makes managing a server so much easier and helps me with tech details that are beyond my knowledge.
Does anyone have any suggestions on how I might run a docker installed killbill and virtualmin on the same machine?
Running Docker with Virtualmin is the same as running Docker in any nginx or Apache environment. You setup proxy rules to your app in the container, which exposes a port or socket. We use quite standard configurations for either web server…documentation about running in Apache or nginx should run with only the usual minor modifications for paths, etc.
Virtualmin can manage proxy rules, if you want that part in a GUI.
I run Virtualmin, Docker and Plex on the same machine. I installed both Docker and Plex after Virtualmin was already installed and running and had been for almost a year. That wasn’t by plan, just by order of use at the time.
I’ve never had any issues with the three of them. I let Virtualmin keep me updated on when updates need to be done on everything, OS included. (Ubuntu Server 20.04 LTS)
No. Virtualmin is in no way similar to Cloudmin. And, for your use case, it’s not the right tool for the job (and Cloudmin probably should not support Docker…it’s a better fit in Virtualmin, but it’ll be a while before we can get to it).
To be clear: Install Virtualmin. Install Docker from a package. You’re done.
Also, consider podman. It’s a better docker, and is the standard container management tool in CentOS/Alma/Rocky/RHEL, and I think it’s also in Ubuntu and Debian.
Sorry to bring this one back up- oneearth did you get docker installed? did you install it on its own virtualserver or did you install it just using a user on the server?
Docker has nothing to do with Virtualmin. You install that on the OS like you would any other module. I have a little test server I run all of it on: Virtualmin, Cloudmin, Docker and Plex. It all works.
If you’re looking to install Discourse, you need to be aware that Discourse runs on port 80 and that’s it. They don’t (at least to this point as far as I know) allow you to change that at all, so if you’re going to run websites as well as a Discourse install you have to change the ports so that Apache doesn’t use port 80 at all.
That’s not right. You can configure it in the /var/discourse/containers/app.yml. Change the expose: ports to something appropriate, e.g. “3000:80”. Remove the https expose one, since you don’t need/want https for local proxied connections.
I’m waiting to free up a server and then I will test it out. Will be another week or so until it becomes available.
I will try to follow what Joe has suggested and learn how to use Docker. I basically want a dual webengine system that looks like: nginx for port 80/443 and regular webserving. And apache for some other port to handle the killbill/apache tomcat.
That’s almost always an unnecessary waste of time and resources. If you need Apache for compatibility or features, just run Apache. Why add more complexity when the web server is effectively never the bottleneck? I have a few servers that run Apache and a few servers that run nginx, but zero that run both.
I understand you want to run Kill Bill on Virtualmin. But are you also considering using Kill Bill (Open Source) as a billing solution with Virtualmin instead of proprietary solutions like WHMCS?
@calport with your knowhow you know very well - source code could be changed by killbill code writers or - just let them know and they will update it… - this is not and never been server bottleneck…
you could follow others to mute me here and there… as I refused to share my know-how with fellow virtualmin users for free (it took me decades to have the know-how) plenty of people got upset and crazy with my reply. If you not like my reply, feel free to ban me or report me for spam or something, - if you have a brain - lets discuss this.