New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Docker cluster with UI for running containers
I am currently using portainer (community edition) for running a few docker container on individual VPS's without redundancy or as a cluster today.
I want to improve the setup with below thoughts :
- Docker Cluster / Swarm / K8 / Anything else, that will let me auto allocate resources based on whichever node is available with resource for it.
- Automatic docker container movement from one VPS/node to another, in case one of the VPS goes down.
- Automatic SSL generation and internal routing, to access services running inside docker containers based on subdomain etc. Right now I have each docker container running services on different port on same ip.
- Automatic restart of docker container if healthcheck of any of them fail. Right now portainer only states container failed check, but doesn't restart them.
- Way to backup config for all docker images/containers running.
In nutshell, let's say for eg, provide 3 VPS as nodes, run 5 docker services on them, and can configure number of container for each docker service/image.
Would appreciate how to go about it, and even better, if there is a UI for managing all this.


Comments
This definitely sounds like something for Kubernetes.. but setting it up and maintaining it is not easy. I do something similar for my own servers and run BGP. I do GitOps with FluxCD, so Git is my source of truth and all I back up is volumes with VolSync.
Docker swarm and k8s
Can’t recommend any UI except argocd for gitops
It could be complex.
Doesn't coolify does the same with docker swarm?
You can setup a k3s cluster with high availability. For this though you would need at least 3 nodes and best would be to have them in the same dc or low latency to each node.
For container / app config you can use helm charts and sync the through argocd to a git repo.
Automatic container „movement“ could work if the app / container is stateless (stateful ist not that easy to do).
minimum resources ?
I haven't step into this advance mode yet
In general it is depending on the application you want to deploy.
As a base k3s is relatively lightweight but compared to a simple docker compose it has more overhead.
Minimum requirements: https://docs.k3s.io/installation/requirements
For high availability you want to setup 3 master nodes, so at least 2 cores and 2 GB RAM for each server.
Argocd does no use that much resources but if you for example want to deploy also monitoring & alerting stack (Prometheus, grafana, Loki, alloy) you need more RAM.
Hashicorp Nomad could help you.
k3s is your friend
this is standar that everyone used now days, they call it devops job
Docker Swarm with Portainer. Used it for several years. High availability and works well out of the box.