A terminal-based Docker container manager that actually works.
Note: Previously named DockWatch.
Works on Linux & macOS.
brew install shubh-io/tap/dockmate
curl -fsSL https://raw.githubusercontent.com/shubh-io/DockMate/main/install.sh | sh
Click for Manual Install, Source Build & Verification
If you lack sudo access or prefer local bins:
curl -fsSL https://raw.githubusercontent.com/shubh-io/DockMate/main/install.sh | INSTALL_DIR=$HOME/.local/bin sh
Ensure $HOME/.local/bin is in your PATH.
Requires Go 1.24+:
git clone 'https://github.com/shubh-io/DockMate'
cd DockMate
go build -o dockmate
sudo mv dockmate /usr/local/bin/
Releases include SHA256 checksums.
# Example verification
curl -fsSL -o dockmate https://.../dockmate-linux-amd64
curl -fsSL -o dockmate.sha256 https://.../dockmate-linux-amd64.sha256
sha256sum -c dockmate.sha256
Click for Update Guide π
| Method | Command |
|---|---|
| Homebrew | brew upgrade shubh-io/tap/dockmate |
| Built-in | dockmate update |
If dockmate update reports success but the version does not change, re-run the installer to force-replace the binary:
# curl
curl -fsSL https://raw.githubusercontent.com/shubh-io/DockMate/main/install.sh | sh
# wget
wget -qO- https://raw.githubusercontent.com/shubh-io/DockMate/main/install.sh | sh
Custom Directory Users:
If you originally installed to a custom location (e.g., ~/.local/bin), you must specify it again to avoid installing to the default path:
curl -fsSL https://raw.githubusercontent.com/shubh-io/DockMate/main/install.sh | INSTALL_DIR="$HOME/.local/bin" sh
Click for Troubleshooting Guideβ
If the app fails to enter a directory, it is likely a filesystem permission mismatch between your current user and the project folder.
You see an error similar to this in the logs or terminal:
Error: compose error (docker up): chdir /home/dockertest/my-app: permission denied
Ensure your user has ownership of the project directory.
Example Case:
If your project is located at ~/path/to-your-folder/, run:
# Replace '~/path/to-your-folder/' with your actual project path
sudo chown -R $USER:$USER ~/path/to-your-folder/
Technical Note:
This command recursively (-R) changes the owner to your current logged-in user ($USER). This grants DockMate the necessary permissions to execute compose commands within that directory.
DockMate is the htop for Docker-lightweight, keyboard-driven, and zero-config.
- β‘ Real-time Monitoring: Stats for CPU, Memory, Disk I/O, Network, etc.
- π¦ Compose Management: Full lifecycle control for Docker Compose and Podman Compose projects.
- β¨οΈ Instant Control: Start (
s), Stop (x), Restart (r), and Remove (d) containers with single keystrokes. - π Debugging: View logs (
l) or spawn an interactive shell (e) instantly. - π³ Multi-Runtime: Native support for Docker and Podman.
- π Deep Info Panel: View Compose metadata, project directories, and source paths.
- βοΈ Persistent Settings:
-
- Custom Shell: Defaults to
/bin/sh, but configurable to/bin/bash,/bin/zsh, etc.
- Custom Shell: Defaults to
-
- Refresh Rates: Configurable Refresh Interval.
-
- State Saving: Remembers your runtime (Docker/Podman) and column layouts on restart.
Run dockmate to start.
| Key | Action |
|---|---|
β/β or j/k |
Move cursor up/down |
β/β |
Navigate pages |
Tab |
Toggle column selection mode |
Enter |
Sort by selected column |
l / i / c |
Toggle Logs / Info / Compose view |
F1 |
Help Menu |
F2 |
Settings |
Esc / q |
Back / Quit |
| Key | Action |
|---|---|
s |
Start container |
x |
Stop container (Exit) |
r |
Restart container |
d |
Delete container |
e |
Open interactive shell (Exec) |
| Key | Action |
|---|---|
u / U |
Up (Create & Start all services) |
x / X |
Stop all services |
r / R |
Restart entire project |
p / P |
Pause / Unpause project |
d / D |
Down (Stop & Remove containers/networks) |
Switching Runtimes (Docker β Podman)
- In-App: Open Settings, toggle Runtime, and Save.
- CLI: Run
dockmate --runtimeto launch the interactive selector.
Configuration File
Settings are saved to ~/.config/dockmate/config.yml. You can manually edit this to change defaults for refresh rates, preferred shell, and column visibility.
| Feature | DockMate | LazyDocker |
|---|---|---|
| Philosophy | β‘ Speed & Simplicity | π§° Feature-rich Power User |
| Engine Support | β Docker + Podman (Native) | |
| Performance | π Instant (<2s) / Minimal Deps | π’ Variable / Heavy Deps |
| Tech Stack | π Bubble Tea (Modern) | π΄ gocui (Legacy, old) |
| Maintenance | π Built-in (dockmate update) |
β Manual updates |
| Input & UI | β¨οΈ Keyboard-only / Text-based | π±οΈ Mouse + Key / ASCII Graphs |
| Scope | π― Containers & Compose | π¦ Containers + Images + Layers |
Choose DockMate if you:
- Want a fast, "install and go" tool.
- Need native Podman support.
- Prefer
htop-style simplicity over complex dashboards.
- Docker Compose integration
- Docker Compose management
- Podman Support
- Homebrew distribution
- Container search / filter
- Resource monitoring alerts
- Image management
License: MIT. Do whatever you want, just keep the license intact.
Built by @shubh-io while learning Go.
If DockMate saves you keystrokes, consider dropping a β on the repo!
