Dashboard Overview¶
The Sidekick Docker dashboard is a five-panel TUI built with Ink and React. Each panel manages a different Docker resource type.
Panel Layout¶
The dashboard uses a split layout:
- Left pane — resource list (containers, images, etc.)
- Right pane — detail tabs for the selected item (logs, stats, configuration)
Press z to cycle layout modes: Normal (28-col side panel) → Wide (42-col side panel, showing full names) → Expanded (side panel hidden, detail pane only).
Panels¶
| # | Panel | Description |
|---|---|---|
| 1 | Containers | All containers with state, image, ports, uptime (+ Patterns tab) |
| 2 | Services | Compose projects and their services |
| 3 | Images | Local images with tags, size, age |
| 4 | Volumes | Named volumes with driver, mount path, usage |
| 5 | Networks | Docker networks with driver, scope, connected containers |
Switch panels with the number keys 1 through 5.
State Updates¶
The dashboard stays current through two mechanisms:
- Event-driven — Docker daemon events (container start/stop, image pull, etc.) are streamed in real time via
EventWatcher - Periodic refresh — a full refresh runs every 30 seconds as a fallback
This means changes appear almost instantly without manual refreshing.
Actions¶
Press x on any selected item to open the context menu. Available actions vary by panel — see each panel's page for details.
Destructive actions (remove, prune) are color-coded red in the context menu and require a confirmation modal.
Visual Indicators¶
- Tab bar badges — container count is color-coded: green when all running, yellow when partially running
- Status bar — shows brand, keyboard hints, active filter, and connection status with visual separators
- Selection — focused items preserve their state icon color instead of overriding with a uniform highlight
- Detail tab bar — shows the tab label even for single-tab panels
Toast Notifications¶
Action results appear as non-blocking toast notifications at the bottom of the screen, with severity-specific icons and colored backgrounds.