Berth is a terminal-based UI to manage your containers, images, volumes, networks, and system usage — with support for Docker and Podman. 🧠 Name origin: In maritime terms, a berth is a designated place where a ship is docked — just like containers in your stack. Clean, organized, and under control.
Berth is a comprehensive terminal user interface (TUI) application built in Go, designed to simplify the management of Docker and Podman container environments. It provides a real-time, interactive experience for listing, inspecting, and controlling containers, images, volumes, and networks directly from your terminal. Berth aims to offer a k9s
-like experience for container orchestration, focusing on usability, visual consistency, and efficient workflow.
# 1. Clone the repository
git clone https://github.com/rluders/berth.git
# 2. Enter the project directory
cd berth
# 3. Build the binary
make build
# 4. Run it!
make run
Berth provides an intuitive keyboard-driven interface.
1
— Containers View2
— Images View3
— Volumes View4
— Networks View5
— System View
Key | Action |
---|---|
s |
Start selected container |
x |
Stop selected container |
d |
Remove container |
l |
View logs |
i |
Inspect container |
d
— Remove selected image or volume
Key | Action |
---|---|
b |
Basic Cleanup |
a |
Advanced Cleanup |
t |
Total Cleanup |
q
oresc
— Return to the previous view or quit the application from the main views.
- Language: Go
- TUI Framework: Bubble Tea
- Styling: Lipgloss
- Reusable TUI Components: Bubbles
.
├── cmd/ # CLI entry point (e.g., main.go)
├── internal/
│ ├── tui/ # All Bubbletea models/views/components
│ ├── engine/ # Docker/Podman abstraction layer
│ ├── controller/ # Logic for container/image/volume actions
│ ├── state/ # Global state models
│ └── utils/ # Helpers: formatting, exec wrappers, etc.
├── assets/ # Logo, themes, maybe future plugins
├── go.mod
└── README.md
We welcome contributions to Berth! If you're interested in improving the project, please consider:
- Reporting bugs or suggesting features via GitHub Issues.
- Submitting pull requests for bug fixes or new features. Please ensure your code adheres to the existing style and includes appropriate tests.
Made with contrib.rocks.
This project is licensed under the MIT License.