███████╗████████╗ █████╗ ██████╗ ██████╗ ██████╗ ██████╗██╗ ██╗███████╗██████╗
██╔════╝╚══██╔══╝██╔══██╗██╔══██╗██╔══██╗██╔═══██╗██╔════╝██║ ██╔╝██╔════╝██╔══██╗
███████╗ ██║ ███████║██████╔╝██║ ██║██║ ██║██║ █████╔╝ █████╗ ██████╔╝
╚════██║ ██║ ██╔══██║██╔══██╗██║ ██║██║ ██║██║ ██╔═██╗ ██╔══╝ ██╔══██╗
███████║ ██║ ██║ ██║██║ ██║██████╔╝╚██████╔╝╚██████╗██║ ██╗███████╗██║ ██║
╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═════╝ ╚═════╝╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝
A sleek terminal UI to manage your Docker containers
- 📦 List all containers — view both running and stopped containers at a glance
▶️ Start & Stop — toggle container state directly from the TUI- 📜 Live Logs — stream container logs in real-time with a scrollable viewport
- 🗂️ Compose-aware — automatically groups Docker Compose stacks with expandable children
- 🖼️ Browse Images — view available Docker images and their download status
- 🚀 Auto-starts Docker — detects if the Docker daemon is down and launches Docker Desktop for you (macOS)
- ⌨️ Keyboard-driven — fast, intuitive navigation with vim-style keybindings
StarDocker connects directly to your local Docker daemon via the Docker SDK. It renders an interactive table of your containers with live state indicators (⏺) so you can see what's running at a glance — then lets you drill into logs or control containers without ever leaving the terminal.
- Go 1.24+
- Docker installed and the daemon running (or Docker Desktop on macOS — StarDocker will start it for you)
git clone https://github.com/stardust1405/stardocker.git
cd stardocker
go build .This produces a stardocker binary in the current directory.
./stardockerOr move it somewhere on your $PATH for global access:
sudo mv stardocker /usr/local/bin/
stardockerJust type stardocker in your terminal. That's it — no config files, no flags, no setup.
| Option | Description |
|---|---|
| Containers | View and manage all Docker containers |
| Images | Browse available Docker images |
| Exit | Quit StarDocker |
| Key | Action |
|---|---|
↑ / k |
Move up |
↓ / j |
Move down |
Enter |
Select / Expand compose stack / View logs |
Esc |
Go back |
r |
Start or stop the selected container |
q |
Quit |
? |
Toggle help |
- Running containers are marked with a
⏺indicator - Docker Compose stacks are automatically detected and grouped — press
Enterto expand/collapse child containers - Press
ron a stopped container to start it, or on a running container to stop it - Press
Enteron a container to view its live logs
- Logs are fetched from the last 24 hours with timestamps
- The viewport auto-scrolls to the bottom for new output
- Scroll freely with arrow keys or vim bindings; auto-scroll resumes when you're near the bottom
stardocker/
├── main.go # Entry point — Docker client init & TUI bootstrap
└── src/
├── index.go # Main menu model
├── containers.go # Container listing, start/stop, Compose grouping
├── logs.go # Live container log viewer
├── images.go # Image browser
├── styles.go # Lipgloss styles and theming
└── help.go # Keybinding definitions & help overlay
- Bubble Tea — the Elm-inspired TUI framework for Go
- Bubbles — pre-built TUI components (tables, viewports, progress bars)
- Lip Gloss — terminal styling and layout
- Docker Go SDK — Docker Engine API client
This project is open-source and available under the MIT License.
Made with ☕ and Go