As someone who works extensively with Docker Compose projects across multiple hosts, I found myself constantly switching between terminal windows, running repetitive commands, and losing track of container states. I wanted something fast, intuitive, and beautiful that would let me manage everything from one place.
If you've been looking for a lightweight, compose-first Docker manager that just works, stop looking. dstatus is built for developers who live in the terminal and need quick access to their containerized applications.
- Automatic project grouping - Containers organized by Docker Compose project
- Full project control - Up, down, restart, build, pull - all from one place
- Integrated volume management - View, inspect, and manage volumes with ease
- Keyboard-driven - Everything is a keystroke away
- Arrow key navigation - Intuitive up/down movement
- Direct shortcuts - Press letter keys to execute actions immediately
- Responsive controls - Instant feedback on all operations
- Full-screen detail views - Smooth transitions, no jarring popups
- Color-coded status - Running (green), stopped (red), paused (yellow)
- Clean typography - Unicode box drawing for crisp interfaces
- Centered menus - Aesthetic and easy to read
Container Operations:
- View logs (with Ctrl+C to exit)
- Start/Stop/Restart
- Pause/Unpause
- Exec shell (bash/sh)
- Inspect configuration
- Remove containers
Project Operations:
docker compose up -ddocker compose downdocker compose restartdocker compose pulldocker compose build- View project logs
- Manage volumes
- View compose files
- Project info & images
- Confirmation dialogs for destructive operations
- Visual warnings for dangerous actions (red highlights)
- Data loss prevention - Clear messaging before volume deletion
curl -fsSL https://raw.githubusercontent.com/neoyubi/dstatus/main/install.sh | bashPrerequisites:
- Python 3.7+
- Docker with Compose v2
python-dockerlibrary
Arch Linux:
sudo pacman -S python-docker
curl -fsSL https://raw.githubusercontent.com/neoyubi/dstatus/main/dstatus -o /usr/local/bin/dstatus
sudo chmod +x /usr/local/bin/dstatusDebian/Ubuntu:
sudo apt install python3-docker
curl -fsSL https://raw.githubusercontent.com/neoyubi/dstatus/main/dstatus -o /usr/local/bin/dstatus
sudo chmod +x /usr/local/bin/dstatusOther distros (via pip):
pip install docker
curl -fsSL https://raw.githubusercontent.com/neoyubi/dstatus/main/dstatus -o /usr/local/bin/dstatus
sudo chmod +x /usr/local/bin/dstatusSimply run:
dstatusList View:
↑/↓- Navigate through projects and containersEnter- Open detail viewq- QuitF5- Refresh
Detail View:
↑/↓- Navigate menu optionsEnter- Execute selected actionLetter keys- Direct shortcuts (e.g., pressufor "Up")ESCorq- Back to list
Log Viewing:
Ctrl+C- Exit logs and return to manager
Container Actions:
l- View Logsr- Restarts- StopS- Start (capital S)p- Pause/Unpausee- Exec Shelli- InspectR- Remove (capital R)
Project Actions:
u- Up (Start All)d- Down (Stop All)r- Restart Allp- Pull Imagesb- Buildl- View Logs (All)v- Manage Volumesc- View Compose Filei- Project Info
- Docker - Container runtime
- Docker Compose v2 - For project management (installed with modern Docker)
- Python 3.7+ - Runtime environment
- python-docker - Docker API client
- Terminal with Unicode support - For pretty box drawing
While Lazydocker is excellent, dstatus offers:
- Simpler codebase - Single Python file, easy to hack
- Faster installation - No compilation needed
- Compose-first - Explicitly designed around Docker Compose projects
- Cleaner detail views - Full-screen transitions instead of panels
- Built-in volume management - Integrated TUI for volume operations
Use Lazydocker if you need metrics/graphs and prefer Go tools. Use dstatus if you want something minimal, hackable, and Compose-focused.
dstatus works out of the box with no configuration needed. It automatically detects:
- Docker Compose projects via container labels
- Container working directories
- Service relationships
"Error connecting to Docker"
- Ensure Docker is running:
docker ps - Check permissions: Add user to docker group with
sudo usermod -aG docker $USER
"No module named 'docker'"
- Install python-docker: See installation instructions above
Containers not grouped
- Only containers launched with
docker composeare grouped - Standalone containers appear in "[Standalone Containers]" section
Clone and run:
git clone https://github.com/neoyubi/dstatus.git
cd dstatus
chmod +x dstatus
./dstatusCode structure:
DockerManager- Docker API interactionsDockerTUI- Terminal UI rendering and event handling- Single file design for easy distribution
Contributions are welcome! This is a personal project that solved my specific needs, but I'm happy to accept:
- Bug fixes
- Performance improvements
- New features that maintain the minimalist philosophy
- Documentation improvements
MIT License - See LICENSE file for details
IMPORTANT: This software is provided "as-is" without any warranty or guarantee. The author assumes NO RESPONSIBILITY OR LIABILITY for any destructive, catastrophic, or unintended results that may occur from using this tool, including but not limited to data loss, container damage, or system issues.
However, I guarantee that this project is:
- Free of malware and malicious code
- Open source and auditable
- A simple developer tool with no hidden functionality
Always review Docker operations before confirming destructive actions. Use at your own risk.
- Bug reports: GitHub Issues
- Feature requests: GitHub Issues
- Star the repo if you find it useful!
Made for the terminal