Skip to content

Commit d057b4c

Browse files
authored
Revise README for clarity and improved structure
Updated README.md to enhance clarity and structure, including improved feature descriptions and installation instructions.
1 parent f8cfe7e commit d057b4c

1 file changed

Lines changed: 71 additions & 24 deletions

File tree

README.md

Lines changed: 71 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,53 @@
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)
3953
wget 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
4256
tar -xzf dockyard-v0.3.1-x86_64.tar.gz
4357
sudo mv dockyard /usr/local/bin/
4458

45-
# Run it
59+
# Run
4660
dockyard
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

Comments
 (0)