A blazingly fast, beautifully minimal Terminal User Interface for Docker management. Built with Go and Bubble Tea.
tinyd (Terminal UI Kit) transforms Docker management into a delightful terminal experience. No more memorizing complex CLI commands or switching between browser tabs. Everything you need is right at your fingertips.
📱 Fully Responsive
- Adapts seamlessly to any terminal size
- Works beautifully in VSCode terminal splits
- Perfect for small screens and tmux panes
- Minimum dimensions: 60 columns × 13 rows
- Real-time resizing without restart
🔍 Deep Resource Inspection
- Images: Explore layer-by-layer composition, architecture details, and exposed configurations
- Volumes: See exactly which containers are using each volume, driver options, and usage statistics
- Containers: Full stats, bind mounts, and runtime configuration at a glance
⚡ Lightning Fast Operations
- Start/stop containers with a single keypress
- Restart misbehaving services instantly
- Open exposed ports directly in your browser
- Delete resources with confirmation modals
- Run new containers from images interactively
🎨 Minimalist Design
- Clean, distraction-free interface
- Classic terminal aesthetics (green/yellow/red color scheme)
- Smart status indicators (green dots for active, gray for inactive, yellow for dangling)
- Intelligent scrolling for large resource lists
- Box-drawing characters for crisp borders
# Clone the repository
git clone https://github.com/jalonsogo/tinyd.git
cd tinyd
# Build the binary
go build -o tinyd
# Run it!
./tinyd- Go 1.19 or higher
- Docker daemon running (local or remote)
- Terminal with Unicode support
s- Start or stop containers (smart toggle)r- Restart running containersc- Open interactive shell with altscreen (preserves TUI state)o- Open exposed ports in browser (port selector for multiple ports)l- View last 100 lines of logs in scrollable viewi- Inspect deep: stats, mounts, configurationD- Delete with confirmation (works across all tabs)
R- Run new containers with interactive modal (name, ports, volumes, env vars)i- Inspect layers, architecture, and configurationD- Remove images (with force option)f- Filter by status: All / In Use / Unused / Dangling
i- Inspect volume details, see which containers are attachedD- Delete volumes safely- Container column shows which containers use each volume in real-time
- View all networks with connection status
- Filter active vs. unused networks
- See IPv4/IPv6 subnet information
Real-time container monitoring with live CPU and memory stats:
● nginx-proxy RUNNING 2.3% 128MB nginx:latest 80:8080,443:8443
● api-server RUNNING 15.1% 512MB node:18-alpine 3000:3000
● postgres-db RUNNING 8.7% 256MB postgres:15 5432:5432
Complete image inventory with layer inspection:
● node 18-alpine 1.2GB 2d ago
● nginx latest 142MB 5d ago
● postgres 15 412MB 1w ago
Volume management with container tracking:
● app-data local nginx-proxy, api-server 2d ago
● postgres-vol local postgres-db 1w ago
Network topology at a glance:
● bridge bridge 172.17.0.0/16 local
● app-network bridge 172.18.0.0/16 local
Note: All letter keys work in both uppercase and lowercase (case-insensitive).
| Key | Action |
|---|---|
↑ / k |
Move selection up (with auto-scroll) |
↓ / j |
Move selection down (with auto-scroll) |
← / h |
Previous tab |
→ / l |
Next tab |
1-4 |
Jump directly to tab |
| Key | Action |
|---|---|
i |
Inspect selected resource |
D |
Delete selected resource |
f |
Open filter modal |
F1 |
Toggle help screen |
ESC |
Return to list view |
Enter |
Refresh / Confirm |
q / Ctrl+C |
Quit application |
| Key | Tab | Action |
|---|---|---|
s |
Containers | Start/Stop container |
r |
Containers | Restart container |
c |
Containers | Open console (altscreen) |
o |
Containers | Open port in browser |
l |
Containers | View logs |
R |
Images | Run new container |
- DevOps Engineers: Quick container health checks during deployments
- Backend Developers: Managing local development environments
- System Administrators: Monitoring production Docker hosts
- Students & Learners: Visual way to understand Docker concepts
- Terminal Enthusiasts: Because GUIs are overrated 😎
- ✅ VSCode integrated terminal
- ✅ iTerm2 / Alacritty / Wezterm
- ✅ tmux panes
- ✅ GNU Screen sessions
- ✅ SSH sessions (local or remote Docker)
- ✅ Windows Terminal
Local Docker (default):
./tinydRemote Docker:
export DOCKER_HOST=tcp://remote-host:2376
./tinydDocker Desktop (macOS/Windows): Automatically detected!
Detailed guides available in the docs/ folder:
All rights reserved.
For {root} sake I'm a designer. Mostly all the code has been written by Claude and ad latere.
- Built with Charm libraries (Bubble Tea, Lipgloss)
- Inspired by k9s, lazydocker, and other terminal tools
Made with ❤️ for terminal lovers everywhere
Because the best interface is no interface at all.
