Skip to content

Rifat977/dockertui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

docktui

docktui is a terminal-first Docker management TUI built with Go and the Charm stack (Bubble Tea, Bubbles, Lipgloss).

It is designed as a lightweight alternative to Docker Desktop for developers who prefer keyboard-driven workflows.

docktui intro screenshot

Why docktui Exists

docktui provides a unified terminal interface to:

  • monitor containers with live CPU/memory/network stats
  • inspect container details in a multi-panel view
  • stream and filter logs
  • run container actions (stop/restart/pause/remove)
  • manage images, volumes, networks, and compose stacks
  • run non-TUI helper commands (ps, logs, images, stop, restart, prune)

What You Can Do

  • 5-tab interface: containers, images, volumes, networks, compose
  • Live container stats: periodic stats stream and table updates
  • Container detail view: overview + env/mounts/ports/stats panels
  • Logs overlay: full-screen logs with follow/search/level controls
  • Exec shell: jump into a container shell from the TUI flow
  • Compose operations: detect stacks, then up/down/restart
  • CLI mode: quick command usage without launching TUI

TUI Screenshots

Main containers tab:

Containers tab screenshot

Detail view (overview with stats/ports):

Container detail screenshot

Typical usage

  • Start TUI and manage everything from one place:
    • ./docktui
  • Quick container list:
    • ./docktui ps -a
  • Tail logs from CLI:
    • ./docktui logs <container-id-or-name>

Getting Started

Prerequisites

  • Go 1.22+ (project currently builds with newer Go too)
  • Docker Engine running locally
  • Access to Docker socket (default: unix:///var/run/docker.sock)

Build

go mod tidy
go build -o docktui ./cmd/docktui/

Run

./docktui

Useful CLI commands

./docktui ps -a
./docktui logs <container>
./docktui images
./docktui stop <container>
./docktui restart <container>
./docktui prune

Optional flags

  • --config <path>: custom config file path
  • --socket <docker-socket>: override Docker socket
  • --debug: enable debug logging

Developer Orientation

High-level layout:

  • cmd/docktui/main.go
    • Cobra entrypoint, TUI bootstrap, CLI subcommands
  • internal/config/
    • app config loading via Viper
  • internal/logger/
    • internal debug logger setup
  • internal/docker/
    • Docker SDK wrappers (containers, stats, logs, exec, images, volumes, networks, compose)
  • internal/watcher/
    • Docker event watcher commands
  • internal/ui/
    • Bubble Tea UI root model and tab models
    • internal/ui/msg/ contains shared message/event types
    • internal/ui/logs/ contains log filtering/rendering/overlay logic
    • internal/ui/stats/ contains stats bar rendering helpers
  • doc/
    • product/implementation planning notes

If you are extending behavior, start from internal/ui/model.go (root routing), then follow into the relevant tab model and matching internal/docker/* operation.

About

Lightweight alternative to Docker Desktop for developers who prefer keyboard driven workflows.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages