Compose-first
Services are grouped by Docker Compose project, with a live dependency graph visualising depends_on relationships — unique to rustydocker.
On the management of containers
A modern alternative to lazydocker, for developers who live in the terminal and prefer their container orchestration swift, silent, and served in ASCII. Keyboard‑driven, vim‑flavoured, and entirely free of mouse tax.
curl https://raw.githubusercontent.com/kennywillbe/rustydocker/master/install.sh | bash
Figure I. The interface, at rest.
Four stacked sidebar sections — containers, images, volumes, networks — paired with tabbed detail views. Every column of information is reachable without lifting your hands from home row.
§ I · Features
A deliberate set of tools for people who ship containers for a living. No dashboards, no telemetry, no cloud — just a tight loop between you and the Docker socket.
Services are grouped by Docker Compose project, with a live dependency graph visualising depends_on relationships — unique to rustydocker.
Streaming logs with regular‑expression search (/), per‑match highlighting, and an all‑logs view with colour‑coded container names.
CPU, memory, and network‑delta charts in KB/s, rendered directly into the terminal with tiny sparkline histories.
Score‑based fuzzy matching across the sidebar. Bookmark favourites to the top with *, multi‑select with Space.
The UI subscribes to the Docker event stream — container births, deaths, and image pulls refresh the interface instantly, without polling.
Attach shell hooks to Docker events, register custom commands in config.toml, and trigger bulk actions across any selection.
§ II · Installation
The curl‑to‑bash ritual. Fetches the latest release binary and drops it in ~/.local/bin.
curl https://raw.githubusercontent.com/kennywillbe/rustydocker/master/install.sh | bash
For the patient and the paranoid. Requires Rust 1.75 or newer.
cargo install --path .
Available in the AUR, for those who run Arch — btw.
yay -S rustydocker
§ III · Keybindings
compose up -dcompose downcompose restart§ IV · Configuration
Location.
~/.config/rustydocker/config.toml
Every value has a sensible default — the file is optional. Use it to tune timing, alert thresholds, remote Docker hosts, custom commands, and event hooks that run arbitrary shell whenever a container starts, stops, or dies.
# Timing tick_rate_ms = 250 log_tail_lines = "100" sidebar_width = 40 # Resource alerts — sidebar turns red cpu_alert_threshold = 80.0 memory_alert_threshold = 90.0 # Optional: remote Docker daemon # docker_host = "tcp://192.168.1.100:2376" # Run arbitrary shell on Docker events [[hooks]] event = "container_die" command = "notify-send '{container_name} died'" [[custom_commands]] name = "Tail logs in less" command = "docker logs {container_id} 2>&1 | less" attach = true