Enterprise-ready Docker Swarm management UI with advanced security, autoscaling, and cloud integration
Swarmpit provides a comprehensive and enterprise-ready interface for your Docker Swarm cluster. You can manage your stacks, services, secrets, volumes, networks with advanced features like role-based permissions, service autoscaling, OpenFaaS integration, cloud logging drivers, and modern dark mode UI.
This enhanced version includes advanced security, intelligent automation, and cloud-native integrations that make it perfect for production deployments. Best of all, you can share this management console securely with your whole team using fine-grained permission controls.
Swarmpit doesn't compromise your privacy as it is completely self-hosted and will never gather any metrics or other data from you.
- 🔐 Resource Role Management: Granular permissions for services, networks, volumes, secrets, and nodes
- ⚡ Service Autoscaling: Intelligent CPU/memory-based automatic service scaling
- ☁️ Cloud Logging Drivers: Support for AWS CloudWatch, GCP Stackdriver, Splunk, and more
- 🚀 OpenFaaS Integration: Deploy and manage serverless functions natively
- 🎨 Dark Mode: Modern theme system with system preference detection
- ⬆️ Modern Stack: Updated to Clojure 1.11, React 18, Material-UI 5, and latest dependencies
This project is a maintained fork of the original Swarmpit repository, which is no longer under active development. This fork continues development with new enterprise features, modern dependencies, and ongoing maintenance.
Maintainer: Sebastiaan Koetsier
The only dependency for Swarmpit deployment is Docker with Swarm initialized, we are supporting Docker 1.13 and newer. Linux hosts on x86 and ARM architectures are supported as well.
For comprehensive installation options and production deployment, see our Installation Guide.
Deploy Swarmpit 2.0 directly using Docker Stack:
git clone https://github.com/jskoetsier/swarmpit.git
cd swarmpit
docker stack deploy -c docker-compose.yml swarmpitDeploy Swarmpit by using a compose file from our git repo with branch of corresponding version.
git clone https://github.com/jskoetsier/swarmpit -b master
docker stack deploy -c swarmpit/docker-compose.yml swarmpit
For ARM based cluster use custom compose file.
git clone https://github.com/jskoetsier/swarmpit -b master
docker stack deploy -c swarmpit/docker-compose.arm.yml swarmpit
This stack is a composition of 4 services:
- app - Swarmpit
- agent - Swarmpit agent for metrics and events collection
- db - CouchDB (Application data)
- influxdb - InfluxDB (Cluster statistics)
Feel free to edit the stackfile to change an application port and we strongly recommend to specify following volumes:
- db-data
- influxdb-data
to shared-volume driver type of your choice. Alternatively, you can link db service to the specific node by using constraint.
Swarmpit is published on port 888 by default.
Refer to the Configuration Reference for complete environment variable documentation.
By default Swarmpit offers you to configure first user using web interface. If you want to automate this process, you can use docker config to provide users.yaml file.
Refer to the User Management Guide for details on automated user configuration and RBAC setup.
Swarmpit 2.0 introduces advanced role-based access control with granular permissions:
- Admin: Full access to all resources and system configuration
- User: Standard access with configurable resource permissions
- Viewer: Read-only access to cluster resources
- Service Management: Deploy, update, scale, and delete services
- Stack Management: Manage application stacks and compose files
- Network Management: Create and manage Docker networks
- Secret Management: Handle sensitive configuration data
- Node Management: Control cluster nodes and placement
Refer to the User Types & Permissions Guide for detailed permission configuration.
Configure automatic service scaling based on CPU and memory metrics:
- Set custom scaling thresholds
- Configure cooldown periods
- Define min/max replica limits
- Integration with InfluxDB metrics
Connect to enterprise logging platforms:
- AWS CloudWatch Logs
- Google Cloud Platform Stackdriver
- Splunk Enterprise
- Elasticsearch via Fluentd
- Datadog and New Relic support
Deploy and manage serverless functions:
- Pre-built function templates
- Function scaling and monitoring
- Integration with function store
- Support for multiple languages (Node.js, Python, Go)
- Installation Guide - Comprehensive installation and deployment guide
- API Documentation - Complete API reference for Swarmpit 2.0
- Configuration Reference - Environment variables and settings
- User Management - User configuration and RBAC setup
- User Types & Permissions - Role-based access control guide
- Changelog - Complete version history and new features