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.
