Skip to content
/ berth Public

A modern terminal UI to manage Docker and Podman containers with style. Explore, inspect, and control your container stack — all from the command line.

License

Notifications You must be signed in to change notification settings

rluders/berth

Repository files navigation

🚢 Berth – Terminal UI for Containers

Go Version License Build Status Made with Bubbletea

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.

📖 Table of Contents

✨ Overview

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.

🚀 Installation

Prerequisites

  • Go (version 1.24 or higher recommended)
  • Docker or Podman installed and running

Steps

# 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

🧭 Usage

Berth provides an intuitive keyboard-driven interface.

🎹 Navigation

  • 1 — Containers View
  • 2 — Images View
  • 3 — Volumes View
  • 4 — Networks View
  • 5 — System View

🛠️ Container Actions

Key Action
s Start selected container
x Stop selected container
d Remove container
l View logs
i Inspect container

📦 Image & Volume Actions

  • d — Remove selected image or volume

🧼 System Cleanup

Key Action
b Basic Cleanup
a Advanced Cleanup
t Total Cleanup

🔙 Back / Exit

  • q or esc — Return to the previous view or quit the application from the main views.

🛠️ Technology Stack

📂 Project Structure

.
├── 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

🤝 Contributing

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.

Contributors

Made with contrib.rocks.

📜 License

This project is licensed under the MIT License.

About

A modern terminal UI to manage Docker and Podman containers with style. Explore, inspect, and control your container stack — all from the command line.

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Contributors 2

  •  
  •