Skip to content

Commit f8cfe7e

Browse files
authored
Simplify installation instructions in README
Removed installation options for building from source and using Cargo, along with usage instructions and troubleshooting tips. Rest going into wiki.
1 parent 76f3854 commit f8cfe7e

1 file changed

Lines changed: 1 addition & 188 deletions

File tree

README.md

Lines changed: 1 addition & 188 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Dockyard is a terminal-based Docker management tool built specifically for resou
3333
* Docker daemon running
3434
* Access to the Docker socket
3535

36-
### Option 1: Install from Release (Recommended)
36+
### Install from Release (Recommended)
3737
```bash
3838
# Download the latest release (v0.3.1)
3939
wget https://github.com/905timur/dockyard/releases/download/v0.3.1/dockyard-v0.3.1-x86_64.tar.gz
@@ -44,190 +44,3 @@ sudo mv dockyard /usr/local/bin/
4444

4545
# Run it
4646
dockyard
47-
```
48-
49-
### Option 2: Build from Source
50-
```bash
51-
# Clone the repository
52-
git clone https://github.com/905timur/dockyard.git
53-
cd dockyard
54-
55-
# Build and run (release mode for best performance)
56-
cargo run --release
57-
```
58-
59-
### Option 3: Install with Cargo
60-
```bash
61-
cargo install --git https://github.com/905timur/dockyard.git --tag v0.3.1
62-
dockyard
63-
```
64-
65-
### Ensure Docker permissions are set
66-
```bash
67-
sudo usermod -aG docker $USER
68-
# Log out and log back in for changes to take effect
69-
```
70-
71-
## Usage
72-
```bash
73-
# Run with default settings (3 second stats interval)
74-
dockyard
75-
76-
# Adjust stats polling interval (1-10 seconds)
77-
dockyard --stats-interval 5
78-
```
79-
80-
## Quick Start Guide
81-
82-
### Managing Containers
83-
Use the `Tab` key to switch between container and image views.
84-
85-
When you first launch Dockyard, you'll see your container list. Use `j`/`k` or arrow keys to navigate up and down. The interface shows you each container's name, image, status, ports, and real-time CPU/memory usage.
86-
87-
Press `Enter` on any container to see detailed information in the left pane, including environment variables, volumes, networks, and labels. Press `l` to stream logs in real-time, or `e` to drop into an interactive shell inside the container (Dockyard will suspend the TUI and hand control to your shell, then restore everything when you exit).
88-
89-
You can control containers with `s` (stop), `t` (start), `r` (restart), `p` (pause), `u` (unpause), and `d` (force remove). Press `f` to toggle between viewing all containers or just running ones.
90-
91-
### Managing Images
92-
Press `Shift+Tab` to switch to the image view. Here you'll see all Docker images on your system with their repository names, tags, IDs, sizes, and creation dates. The list auto-refreshes every 30 seconds.
93-
94-
Navigate with `j`/`k` or arrow keys, then press `Enter` or `Space` to inspect any image's full details in the left pane. You can sort images by pressing `s` (cycles through creation date ascending/descending and size ascending/descending) or filter dangling images with `f`.
95-
96-
### Pulling New Images
97-
To download a new image from Docker Hub, press `p` while in the image view. A dialog will appear asking for the image name. Type something like `nginx:latest`, `postgres:15`, `redis:alpine`, or `ubuntu:22.04` and hit Enter. Dockyard will first check if the image already exists locally, and if not, it will proceed with the pull.
98-
99-
Dockyard will start pulling the image and stream the download progress in real-time in the bottom-right pane. You'll see each layer being downloaded just like running `docker pull` from the command line, but the UI stays responsive so you can navigate around and check other things while it downloads. When the pull completes, the image list automatically refreshes and your new image appears.
100-
101-
This is useful when you want to run a new service (like pulling `nginx` to set up a web server), test a different version of something (pulling `node:20` for the latest Node.js), or prepare images before creating containers from them.
102-
103-
### Removing Images
104-
Select an image and press `d` to remove it (you'll get a confirmation prompt). If the image is in use by containers, you can force removal with `D` (Shift+d), though this will also prompt for confirmation to prevent accidents.
105-
106-
## Performance Modes
107-
108-
Dockyard offers flexible performance modes to optimize resource usage based on your needs:
109-
110-
### Turbo Mode (High Performance)
111-
- **Activation**: Toggle with the `t` key.
112-
- **Optimization Strategy**:
113-
- **Viewport-Aware Polling**: Only fetches stats for containers currently visible on your screen. This drastically reduces the load on the Docker daemon when managing 50+ containers.
114-
- **Minimalist UI**: Switches to a streamlined stats view, reducing the CPU cycles required for rendering complex graphs and detailed history.
115-
- **Lower Overhead**: Internal processing is tuned to favor TUI responsiveness over background data granularity.
116-
- **Ideal for**: Low-end VPS instances, single-core servers, or when managing a massive container fleet.
117-
118-
### Normal Mode (Default)
119-
- **Full Visibility**: Polls stats for all running containers, even those off-screen, ensuring history graphs are populated for everything.
120-
- **Detailed Stats**: Provides the full CPU/Memory breakdown with high-resolution graphs.
121-
- **Standard Refresh**: Balanced polling and rendering for a smooth, feature-rich experience.
122-
123-
### Performance Presets
124-
| Key | Preset | Description |
125-
|-----|--------|-------------|
126-
| `1` | Max Performance | Turbo mode + manual refresh + minimal stats |
127-
| `2` | Balanced | Normal mode + 5-second interval + minimal stats |
128-
| `3` | Full Detail | Normal mode + 1-second interval + detailed stats |
129-
130-
### Performance Controls
131-
| Key | Action |
132-
|-----|--------|
133-
| `t` | Toggle Turbo/Normal mode |
134-
| `m` | Toggle stats view (detailed/minimal) |
135-
| `[` | Decrease refresh interval |
136-
| `]` | Increase refresh interval |
137-
| `P` | Show performance metrics (CPU/memory usage) |
138-
139-
## Navigation Reference
140-
141-
### Global Keys
142-
| Key | Action |
143-
|-----|--------|
144-
| `?` | Help menu |
145-
| `Tab` | Switch focus (Containers) or Switch Help Tab (Help Menu) |
146-
| `Shift+Tab` or `v` | Switch between Containers and Images views |
147-
| `q` | Quit |
148-
| `R` | Refresh containers and images manually |
149-
150-
### Container View
151-
| Key | Action |
152-
|-----|--------|
153-
| `↑↓` or `jk` | Navigate containers |
154-
| `Enter` or `Space` | View detailed container info |
155-
| `i` | View resource history graphs |
156-
| `l` | View container logs |
157-
| `e` | Launch interactive shell (`/bin/bash` or `/bin/sh`) |
158-
| `r` | Restart container |
159-
| `s` | Stop container |
160-
| `t` | Start container |
161-
| `p` | Pause container |
162-
| `u` | Unpause container |
163-
| `d` | Remove container (force) |
164-
| `f` | Toggle filter (all/running) |
165-
166-
### Image View
167-
| Key | Action |
168-
|-----|--------|
169-
| `↑↓` or `jk` | Navigate images |
170-
| `Enter` or `Space` | Inspect image details |
171-
| `s` | Toggle sort (Creation Date ▲/▼, Size ▲/▼) |
172-
| `f` | Toggle dangling image filter |
173-
| `p` | Pull new image from registry |
174-
| `d` | Remove image |
175-
| `D` | Force remove image |
176-
177-
## Status Indicators
178-
179-
### Container States
180-
- `` (green) – Running
181-
- `` (red) – Stopped
182-
- `` (yellow) – Paused
183-
184-
### Health Monitoring
185-
Dockyard monitors container health checks for running containers. Docker health checks are periodic tests that verify container functionality and can be configured in Dockerfiles using the `HEALTHCHECK` instruction.
186-
187-
Health status indicators:
188-
- `✓ healthy` (green) – Health check is passing
189-
- `✗ unhealthy` (red) – Health check is failing
190-
- `⚠ starting` (yellow) – Health check is initializing
191-
- `-` (gray) – No health check configured
192-
- `✗ failing(n)` (red) – Health check failing with n consecutive failures
193-
194-
The container list title shows a health summary with counts of healthy (✓), starting (⚠), and unhealthy (✗) containers across all running instances.
195-
196-
### Visual Feedback
197-
- Sort indicators (``/``) appear in table headers showing current sort direction
198-
- Stats marked as `(stale)` are older than 10 seconds
199-
- Real-time progress bars show ongoing operations like image pulls
200-
- Confirmation prompts appear for destructive actions
201-
202-
## Performance Notes
203-
- Auto-refreshes container list every 10 seconds
204-
- Auto-refreshes image list every 30 seconds
205-
- Stats update interval configurable via `--stats-interval` flag (default: 3 seconds)
206-
- Only fetches stats for containers in the current viewport (visible on screen)
207-
- Concurrent API requests limited to 5 simultaneous connections
208-
- Requests are staggered across the polling interval to prevent CPU spikes
209-
210-
## Troubleshooting
211-
212-
### Permission Denied
213-
If you get permission errors connecting to Docker, make sure your user is in the `docker` group:
214-
```bash
215-
sudo usermod -aG docker $USER
216-
```
217-
Then log out and back in for the changes to take effect.
218-
219-
### High CPU Usage
220-
If you notice high CPU usage, try increasing the stats interval:
221-
```bash
222-
dockyard --stats-interval 5
223-
```
224-
This reduces how often Dockyard polls Docker for container stats.
225-
226-
### Container Shell Not Working
227-
The interactive shell feature (`e` key) requires that containers have either `/bin/bash` or `/bin/sh` available. Some minimal container images might not include these shells.
228-
229-
## License
230-
Dockyard is dual-licensed under MIT and Apache 2.0.
231-
232-
## Acknowledgments
233-
Built with [Ratatui](https://github.com/ratatui-org/ratatui) for the TUI and [Bollard](https://github.com/fussybeaver/bollard) for Docker API integration.

0 commit comments

Comments
 (0)