Developer Tooling
Status//Open source
The dev containers this team runs, managed from the terminal
argv-docker-manager
v0.3.0-1 [x86_64-linux]
Dev environment stacks, unified in one screen
Engineering teams running local development environments frequently manage multiple Docker Compose services—databases, message brokers, caching tiers, and admin consoles. In practice, services get started ad-hoc across scattered directories, forgotten in background processes, and lost across machine reboots.
argv-docker-manager is a high-performance terminal UI written in Rust. It isolates each development service into its own clean directory under containers/, automatically discovering stacks, providing single-keystroke container control, live stream telemetry, and opt-in boot persistence without requiring global Docker daemon changes.
System Profile
Structured panes for high-frequency workflows
The TUI layout splits daily operations into dedicated concurrent surfaces, keeping service status visible and log streams immediately accessible.
Services Fleet Column
Lists all discovered projects under containers/* with live status tags (RUNNING / STOPPED). Pressing s starts or stops a stack asynchronously without stalling the UI.
Activity & Events Telemetry
Inspects container lifecycle events, pull progress, and network bindings in real time. Pressing l switches the active pane between live engine events and full container stdout/stderr output with auto-scrolling.
Daemon Sentinel & Diagnostics
Continuous readiness polling for the Docker socket, CLI binary, and Compose plugins. Pressing d reveals daemon diagnostic metrics and active systemd auto-start rules.
Initial Discovery State

Complete terminal navigation at your keys
Every action is mapped to single-stroke keyboard shortcuts. All keybindings can be configured in keybinds.toml.
Vim-Inspired Navigation
Standard directional movements follow standard terminal ergonomics (j / k or arrow keys), preventing hand repositioning during coding sessions.
Configuration: keybinds.toml
Active Shortcut Reference
| Key | Action | Description |
|---|---|---|
| j / k | Navigate List | Move cursor selection up and down across discovered service stacks |
| s | Start / Stop | Execute docker compose up -d or down asynchronously for selected stack |
| a | Toggle Auto-Start | Persist boot restoration flag in local .argv-docker-manager-autorestart.toml |
| l | Toggle Activity | Switch activity stream between live container output and engine events |
| / | Fuzzy Filter | Filter services and container names with instant fuzzy search matching |
| d | Daemon Sentinel | Open Docker engine diagnostics and systemd boot service status modal |
| q | Clean Exit | Restore terminal screen buffer and exit without terminating background containers |
Decoupled event loop and asynchronous runtime
Terminal rendering and background container tasks run on separate execution contexts, ensuring the user interface never stutters during Docker daemon operations.
Dedicated Terminal UI Thread
Powered by ratatui and crossterm, the main loop handles input polling and 60fps frame buffer rendering directly to the terminal alternate screen buffer.
Non-Blocking Tokio Async Runtime
Docker Compose child processes, daemon health checks, and log stream readers execute as asynchronous background tasks. Communication flows across unbounded crossbeam channels.
Zero-Config Project Discovery
On startup, the scanner scans containers/*/compose.yaml, parsing service names, exposed ports, and volume targets without requiring a central database.
Thread & Data Pipeline Topology
Selective boot recovery without global overhead
Standard Docker setups rely on global restart: always policies, spawning unused databases and saturating memory after every system reboot. argv-docker-manager uses granular per-project opt-in recovery.
Per-Project Granularity
Pressing a toggles the auto-restart flag for an individual service stack. Only stacks explicitly marked for auto-restart are launched at boot.
Systemd User Unit Integration
The included installer generates argv-docker-manager-autorestart.service as a user systemd service. It boots without root privileges, waits for Docker socket availability, and launches your selected stacks in parallel.
Configuration & Unit Specification
[autorestart]
enabled_projects = [
"mysql",
"redis"
][Unit] Description=ARGV Docker Manager Auto-restart Service After=docker.service docker.socket [Service] Type=oneshot ExecStart=/home/user/.cargo/bin/argv-docker-manager --boot-restore RemainAfterExit=yes [Install] WantedBy=default.target
Architectural calls and evaluated alternatives
Every architectural decision recorded with the alternative it explicitly ruled out.
Directory-as-Project Discovery
Per-Host Ignored State
Zero-Dependency Fallback
Native Async Engine
Technical specification and bundled services
Ships out of the box with ready-to-run container stacks, backed by minimal system resource footprint.
Included Default Services (containers/*)
argv-docker-manager / manifest
Battle-tested in daily engineering workflows
Maintained as an active open-source project and used across internal developer workstations every day.
Active Dogfooding
The ARGV engineering team runs all internal database migrations, cache testing, and local microservices through argv-docker-manager, catching real-world edge cases before releases.
Automated Release Lifecycle
Releases follow semantic versioning with conventional commits parsed automatically by git-cliff. Container additions undergo automated CI linting and compose syntax validation.