Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/ 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

AltStyle によって変換されたページ (->オリジナル) /