The terminal-UI for Docker Swarm you’ve been waiting for. Fast, keyboard-driven, and open source.
Why SwarmCLI? • Quickstart • Features • Installation • Contributing
In the Kubernetes world, k9s is the gold standard for cluster management. We believe Docker Swarm users deserve the same level of quality, speed, and intuition.
"Because Swarm is not dead, it's just efficient. And it deserves better tools."
SwarmCLI translates the complexity of Docker Swarm into a sleek, keyboard-centric terminal UI. It’s built for developers who want to manage their clusters without leaving the terminal or waiting for heavy Web UIs to load.
Get up and running in seconds:
# macOS/Linux via Homebrew
brew tap eldara-tech/tap
brew install swarmcli
# Run it
swarmcli- Real-time Observability: Live monitoring of Services, Tasks, Nodes, and Containers.
- Stack Awareness: Navigate your cluster hierarchically (Stacks > Services > Tasks).
- Instant Logs: No more
docker service logs -f. Just presslon any service. - Secrets & Configs: Manage, rotate, and — with Pro — reveal secrets for debugging.
- Management Actions: Scale, restart, remove, and update services with single keystrokes.
- Zero Config: Works out-of-the-box with your local Docker engine or remote via SSH/Contexts.
- Lightweight: Built with Go. Single static binary (< 20MB). Zero dependencies.
git clone https://github.com/Eldara-Tech/swarmcli.git
cd swarmcli
go installdocker build -t swarmcli-dev .
docker run --rm -it -v "$PWD":/app -v /var/run/docker.sock:/var/run/docker.sock -w /app swarmcli-dev
or with docker compose:
docker compose run --build --rm swarmcli
Then run:
go run .
# Production (default)
$ go run .
# → writes JSON logs to ~/.local/state/swarmcli/app.log
# Development
$ SWARMCLI_ENV=dev go run .
# → writes pretty logs to ~/.local/state/swarmcli/app-debug.log
# Optional: control verbosity
$ LOG_LEVEL=debug SWARMCLI_ENV=dev go run .SWARMCLI_ENV:devenables pretty debug logs (default isprod).LOG_LEVEL:debug,info,warn,error, … Colorize log tails. Not perfect but simple:
sudo apt install ccze
tail -f ~/.local/state/swarmcli/app-debug.log | ccze -AThe logs for the integration tests can be enabled with:
TEST_LOG=1 ./test-setup/testenv.sh test| Key | Action |
|---|---|
? |
Show Help / Cheat Sheet |
:stack |
Navigate to Stacks |
:svc |
Navigate to Services |
:node |
Navigate to Nodes |
:config |
Navigate to Config |
:secret |
Navigate to Secret |
:node |
Navigate to Nodes |
l |
View Logs |
s |
Scale Service |
r |
Restart Service |
ctrl-c |
Quit |
Impeccable project hygiene is the backbone of a thriving ecosystem.
- Contributing: We ❤️ contributions! Check our guide to get started.
- Security: Found a bug? Let us know securely.
- Code of Conduct: Expectations for our community.
- License: Apache 2.0.
