Skip to content

Xczer/docsee-tui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DocSee

A terminal UI for managing Docker, written in Rust with Ratatui.

I use Docker daily and got tired of typing docker ps, docker logs -f, docker exec -it ... sh a hundred times a day. Wanted something like k9s but for plain Docker, so I built this. It lets you browse containers, images, volumes and networks, tail logs, drop into a container shell and watch resource usage - all from the terminal.

CI License: MIT

██████╗  ██████╗  ██████╗███████╗███████╗███████╗
██╔══██╗██╔═══██╗██╔════╝██╔════╝██╔════╝██╔════╝
██║  ██║██║   ██║██║     ███████╗█████╗  █████╗
██║  ██║██║   ██║██║     ╚════██║██╔══╝  ██╔══╝
██████╔╝╚██████╔╝╚██████╗███████║███████╗███████╗
╚═════╝  ╚═════╝  ╚═════╝╚══════╝╚══════╝╚══════╝

What it does

  • Containers - start / stop / restart / delete, with status colours
  • Images - list, delete, prune
  • Volumes and networks - list and manage
  • Logs - live tailing with timestamps, word wrap and filtering
  • Shell - exec into a running container without leaving the TUI
  • Stats - live CPU / memory / network / disk per container
  • Search - / to filter anything on screen

Works on Linux, macOS and Windows.

Build

Needs a recent stable Rust toolchain and Docker running locally.

git clone https://github.com/Xczer/docsee-tui.git
cd docsee-tui
cargo build --release
# binary lands in target/release/docsee

Or install straight from the source tree:

cargo install --path .

Usage

# default docker socket
docsee

# remote docker over tcp
docsee --docker-host tcp://remote-host:2375

# over ssh
docsee --docker-host ssh://user@remote-host

It also picks up the usual DOCKER_HOST / DOCKER_TLS_VERIFY / DOCKER_CERT_PATH env vars if they are set.

Keys

Global

Key Action
←/→ switch tabs
↑/↓ move in list
Enter select
Esc go back
q quit
c help / cheatsheet

Containers

Key Action
u start
d stop
r restart
D delete
l logs
e shell
s stats
/ search

Logs viewer

Key Action
f follow on/off
t timestamps
w word wrap
c clear
PgUp/PgDn page

Full list is inside the app, just hit c.

Layout

src/
├── app.rs        # main loop, tab routing, key dispatch
├── docker/       # bollard wrapper - containers, images, volumes, networks, system
├── events/       # keyboard / timer event handling
├── ui/           # per-tab views + logs/shell/stats viewers
└── widgets/      # small reusable bits (tables, modals)

Async everywhere via Tokio so the UI never blocks on a Docker call.

Dev

cargo run                # run against local docker
cargo fmt
cargo clippy
cargo test

Troubleshooting

Connection error - make sure the daemon is up (docker info) and you can read the socket (ls -la /var/run/docker.sock).

Colours look off - check your terminal, TERM=xterm-256color docsee usually fixes it. Needs at least an 80x24 terminal.

Thanks

Built on top of Ratatui, Bollard and Tokio. Design ideas borrowed shamelessly from k9s.

License

MIT - see LICENSE.

About

A terminal UI for managing Docker containers, images, volumes and networks - built in Rust with Ratatui

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors