In this small blog post I want to show my small bash script that can initialize a docker swarm cluster (up to nine nodes) with a user interface (portainer) a reverse proxy (traefik or nginx proxy manager) and a high available storage (syncthing4Swarm).
The docker swarm cluster can also be installed in a "rootless"-mode (user namespace).
Architecture
Requirements
- Ubuntu Server installed on all nodes
- SSH access on all nodes
- Root access on all nodes
- Additional unused IP address for keepalived (virtual IP of the docker swarm cluster)
sshpassmust be installed on all nodes (required automatic access via ssh password to configure other nodes):sudo apt install sshpassopensslmust be installed on all nodes (required for rootless mode certificates and Traefik dashboard password hash generation):sudo apt install openssl
Please follow the link or click on the button to the SwarmPilot repository for detailed install instructions:
https://forgejo.hostlab.tech/suitdeer/SwarmPilot