11# Dockyard ⚓
2+
23![ CI] ( https://github.com/905timur/dockyard/actions/workflows/ci.yml/badge.svg?branch=main )
34![ Release] ( https://img.shields.io/github/v/release/905timur/dockyard )
45![ License] ( https://img.shields.io/github/license/905timur/dockyard )
56![ Rust] ( https://img.shields.io/badge/rust-1.75%2B-blue )
67
7- Dockyard is a terminal-based Docker management tool built specifically for resource constrained VPS servers, written in Rust with performance in mind. It provides complete container and image lifecycle management with real-time monitoring, all with minimal overhead and an easy-on-the-eyes UI.
8+ Dockyard is a ** terminal-based Docker management tool** built specifically for ** resource-constrained VPS servers** .
9+ Written in ** Rust** with performance as a first-class concern, it provides complete container and image lifecycle management with real-time monitoring—all with minimal overhead and an easy-on-the-eyes TUI.
810
911![ Dockyard TUI] ( https://github.com/905timur/dockyard/blob/main/tui-screen.png )
1012
13+ ---
14+
1115## Perfect For
12- * ** Low-spec servers** (1–4 vCPU, 512 MB–8 GB RAM)
13- * ** Production environments** where every MB counts
14- * ** Development servers** running multiple containers
15- * ** Raspberry Pi** and other ARM-based servers
16-
17- ## Features
18- - Written in Rust with async/await – no GIL, no garbage collection
19- - ** Full image management** – pull, remove, inspect, and filter images
20- - ** Interactive shell access** – drop into running containers with full TTY support
21- - ** Container lifecycle controls** – start, stop, restart, pause, unpause, and remove
22- - Viewport-aware stats fetching – only queries containers visible on screen
23- - Staggered API requests – spreads Docker calls evenly to prevent CPU spikes
24- - Synchronous UI rendering – zero async overhead, no thread parking, instant frame updates
25- - Event-driven architecture with lock-free UI – background workers never block the terminal
26- - ** Built-in Wiki** : Access project documentation and troubleshooting tips directly from the help menu (` ? ` )
27- - ** Configurable polling intervals** : Tune performance for your environment
28-
29- ## Installation
16+
17+ - ** Low-spec servers** (1–4 vCPU, 512 MB–8 GB RAM)
18+ - ** Production environments** where every MB counts
19+ - ** Development servers** running multiple containers
20+ - ** Raspberry Pi** and other ARM-based systems
21+
22+ ---
23+
24+ ## Features
25+
26+ - Written in ** Rust** with ` async/await ` — no GIL, no garbage collection
27+ - ** Full image management** — pull, remove, inspect, and filter images
28+ - ** Container lifecycle controls** — start, stop, restart, pause, unpause, remove
29+ - ** Interactive shell access** — exec into running containers with full TTY support
30+ - Viewport-aware stats fetching — only queries containers visible on screen
31+ - Staggered Docker API requests — avoids CPU spikes on small systems
32+ - Synchronous UI rendering — zero async overhead, instant frame updates
33+ - Event-driven architecture with a ** lock-free UI**
34+ - ** Built-in Wiki** — access documentation and troubleshooting via ` ? `
35+ - ** Configurable polling intervals** — tune performance for your environment
36+
37+ ---
38+
39+ ## Installation
3040
3141### Prerequisites
32- * Rust ` 1.70+ ` ([ Install Rust] ( https://rustup.rs/ ) )
33- * Docker daemon running
34- * Access to the Docker socket
3542
36- ### Install from Release (Recommended)
43+ - Rust ** 1.75+** ([ Install Rust] ( https://rustup.rs/ ) )
44+ - Docker daemon running
45+ - Access to the Docker socket
46+
47+ ---
48+
49+ ### Option 1: Install from Release (Recommended)
50+
3751``` bash
3852# Download the latest release (v0.3.1)
3953wget https://github.com/905timur/dockyard/releases/download/v0.3.1/dockyard-v0.3.1-x86_64.tar.gz
@@ -42,5 +56,38 @@ wget https://github.com/905timur/dockyard/releases/download/v0.3.1/dockyard-v0.3
4256tar -xzf dockyard-v0.3.1-x86_64.tar.gz
4357sudo mv dockyard /usr/local/bin/
4458
45- # Run it
59+ # Run
4660dockyard
61+ ```
62+
63+ ### Option 2: Install from Repo
64+ ``` bash
65+ # Clone the repository
66+ git clone https://github.com/905timur/dockyard.git
67+ cd dockyard
68+
69+ # Build and run (release mode for best performance)
70+ cargo run --release
71+ ```
72+ ### Option 3: Install with Cargo
73+ ``` bash
74+ cargo install --git https://github.com/905timur/dockyard.git --tag v0.3.1
75+ dockyard
76+ ```
77+
78+ ## Docker Permissions
79+
80+ Ensure your user can access the Docker socket:
81+ ``` bash
82+ sudo usermod -aG docker $USER
83+ # Log out and log back in for changes to take effect
84+ ```
85+
86+ ## Quick Start
87+ ``` bash
88+ # Run with default settings (3-second stats interval)
89+ dockyard
90+
91+ # Adjust stats polling interval (1–10 seconds)
92+ dockyard --stats-interval 5
93+ ```
0 commit comments