Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Lightweight mobile-friendly Docker Swarm management UI

License

jskoetsier/swarmpit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

swarmpit

Enterprise-ready Docker Swarm management UI with advanced security, autoscaling, and cloud integration

version PRs Welcome

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.

🚀 What's New in v2.0

  • 🔐 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

Fork Notice

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

Installation

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.

Quick Start

For comprehensive installation options and production deployment, see our Installation Guide.

Recommended: Docker Stack Deployment

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 swarmpit

Manual installation

Deploy 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.

Environment Variables

Refer to the Configuration Reference for complete environment variable documentation.

User Configuration

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.

User Types & Permissions

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

Resource-Level Permissions

  • 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.

🔧 New Features Configuration

Service Autoscaling

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

Cloud Logging Integration

Connect to enterprise logging platforms:

  • AWS CloudWatch Logs
  • Google Cloud Platform Stackdriver
  • Splunk Enterprise
  • Elasticsearch via Fluentd
  • Datadog and New Relic support

OpenFaaS Functions

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)

📋 Documentation

About

Lightweight mobile-friendly Docker Swarm management UI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Clojure 92.7%
  • CSS 3.9%
  • Shell 1.3%
  • Java 1.0%
  • JavaScript 0.9%
  • HTML 0.2%