Lightweight mobile-friendly Docker Swarm management UI
This is a maintained fork of swarmpit/swarmpit by ChangemakerStudios. The upstream project is in maintenance mode, so this fork provides bug fixes and improvements including:
- Fix image tag loss on service edit
- Silence agent
/logs/404 spam - Dark mode support
- Modernized Docker Compose spec with skip image resolution toggle
This fork publishes multi-architecture images (amd64, arm64, armv7, armv5):
ghcr.io/changemakerstudios/swarmpit:latest services: app: image: ghcr.io/changemakerstudios/swarmpit:latest # or pin to a specific tag environment: - SWARMPIT_DB=http://db:5984 - SWARMPIT_INFLUXDB=http://influxdb:8086 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro ports: - 888:8080Or use the full docker-compose.yml included in this repo:
docker stack deploy -c docker-compose.yml swarmpitThe only dependency for Swarmpit deployment is Docker with Swarm initialized. Docker 1.13 and newer is supported. Linux hosts on x86 and ARM architectures are supported.
This stack is a composition of 4 services:
- app - Swarmpit
- agent - Swarmpit agent
- db - CouchDB (Application data)
- influxdb - InfluxDB (Cluster statistics)
We strongly recommend specifying the following volumes with a shared-volume driver type of your choice:
- db-data
- influxdb-data
Alternatively, you can link the db service to a specific node by using constraint.
Swarmpit is published on port 888 by default.
Refer to the following document
By default Swarmpit offers you to configure the first user using the web interface. If you want to automate this process, you can use docker config to provide a users.yaml file.
Refer to the following document for details.
Swarmpit is written purely in Clojure and utilizes React on the front-end. CouchDB is used to persist application data & InfluxDB for cluster statistics.
Everything about building, issue reporting and setting up the development environment can be found in CONTRIBUTING.md