sidekick-docker 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +136 -0
- package/dist/sidekick-docker.mjs +79929 -0
- package/package.json +60 -0
package/README.md
ADDED
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Sidekick Docker CLI
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/sidekick-docker)
|
|
4
|
+
[](https://www.npmjs.com/package/sidekick-docker)
|
|
5
|
+
[](https://github.com/cesarandreslopez/sidekick-docker/blob/main/LICENSE)
|
|
6
|
+
|
|
7
|
+
A terminal dashboard for Docker. Manage containers, Compose projects, images, volumes, and networks — all from a single, keyboard-driven TUI.
|
|
8
|
+
|
|
9
|
+
<!--  -->
|
|
10
|
+
|
|
11
|
+
## Install
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
npm install -g sidekick-docker
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Prerequisites:** Node.js >= 20, Docker running.
|
|
18
|
+
|
|
19
|
+
## Usage
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
# Launch the interactive dashboard
|
|
23
|
+
sidekick-docker
|
|
24
|
+
|
|
25
|
+
# List containers (non-interactive)
|
|
26
|
+
sidekick-docker ps
|
|
27
|
+
sidekick-docker ps --all
|
|
28
|
+
|
|
29
|
+
# Stream container logs
|
|
30
|
+
sidekick-docker logs <container>
|
|
31
|
+
sidekick-docker logs <container> --tail 50
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Options
|
|
35
|
+
|
|
36
|
+
| Flag | Description |
|
|
37
|
+
|------|-------------|
|
|
38
|
+
| `--socket <path>` | Custom Docker socket path |
|
|
39
|
+
| `--version` | Show version |
|
|
40
|
+
| `--help` | Show help |
|
|
41
|
+
|
|
42
|
+
## Dashboard
|
|
43
|
+
|
|
44
|
+
The dashboard has 5 panels, each mapped to a number key:
|
|
45
|
+
|
|
46
|
+
| # | Panel | Shows | Detail Tabs |
|
|
47
|
+
|---|-------|-------|-------------|
|
|
48
|
+
| 1 | **Containers** | All containers with state, image, ports, uptime | Logs, Stats, Env, Config |
|
|
49
|
+
| 2 | **Services** | Compose projects and their services | Info, Logs |
|
|
50
|
+
| 3 | **Images** | Local images with tags, size, age | Info |
|
|
51
|
+
| 4 | **Volumes** | Named volumes with driver, mount path, usage status | Info |
|
|
52
|
+
| 5 | **Networks** | Docker networks with driver, scope, connected containers | Info |
|
|
53
|
+
|
|
54
|
+
## Keybindings
|
|
55
|
+
|
|
56
|
+
### Navigation
|
|
57
|
+
|
|
58
|
+
| Key | Action |
|
|
59
|
+
|-----|--------|
|
|
60
|
+
| `j` / `Down` | Move down |
|
|
61
|
+
| `k` / `Up` | Move up |
|
|
62
|
+
| `g` | Jump to top |
|
|
63
|
+
| `G` | Jump to bottom |
|
|
64
|
+
| `Tab` | Toggle focus between side list and detail pane |
|
|
65
|
+
| `Enter` | Focus detail pane |
|
|
66
|
+
| `Esc` | Back to side list / close overlay / clear filter |
|
|
67
|
+
| `h` / `Left` | Back to side list (when in detail pane) |
|
|
68
|
+
|
|
69
|
+
### Panels & Tabs
|
|
70
|
+
|
|
71
|
+
| Key | Action |
|
|
72
|
+
|-----|--------|
|
|
73
|
+
| `1`-`5` | Switch to panel |
|
|
74
|
+
| `[` / `]` | Cycle detail tab left / right |
|
|
75
|
+
|
|
76
|
+
### Actions
|
|
77
|
+
|
|
78
|
+
| Key | Action |
|
|
79
|
+
|-----|--------|
|
|
80
|
+
| `x` | Open context menu (actions for selected item) |
|
|
81
|
+
| `/` | Open filter |
|
|
82
|
+
| `z` | Toggle expanded layout |
|
|
83
|
+
| `?` | Show help overlay |
|
|
84
|
+
| `V` | Show version |
|
|
85
|
+
| `q` / `Ctrl+C` | Quit |
|
|
86
|
+
|
|
87
|
+
### Container Actions (via context menu)
|
|
88
|
+
|
|
89
|
+
| Key | Action |
|
|
90
|
+
|-----|--------|
|
|
91
|
+
| `s` | Start |
|
|
92
|
+
| `S` | Stop |
|
|
93
|
+
| `r` | Restart |
|
|
94
|
+
| `R` | Remove (with confirmation) |
|
|
95
|
+
| `e` | Exec into container |
|
|
96
|
+
|
|
97
|
+
### Compose Actions (via context menu)
|
|
98
|
+
|
|
99
|
+
| Key | Action |
|
|
100
|
+
|-----|--------|
|
|
101
|
+
| `u` | Up (start project) |
|
|
102
|
+
| `d` | Down (stop project) |
|
|
103
|
+
| `r` | Restart |
|
|
104
|
+
| `S` | Stop |
|
|
105
|
+
|
|
106
|
+
## Features
|
|
107
|
+
|
|
108
|
+
- **Real-time log streaming** — follows container logs with stdout/stderr coloring
|
|
109
|
+
- **Live stats with sparklines** — CPU and memory usage charted as inline sparklines (60-sample history)
|
|
110
|
+
- **Interactive exec** — open a shell inside any running container
|
|
111
|
+
- **Compose detection** — automatically discovers projects from container labels, merges with compose file config
|
|
112
|
+
- **Filter** — press `/` to filter any list by name
|
|
113
|
+
- **Confirmation modals** — destructive actions always ask before executing
|
|
114
|
+
- **Mouse support** — click items to select, scroll to navigate
|
|
115
|
+
- **Toast notifications** — non-blocking feedback for actions
|
|
116
|
+
|
|
117
|
+
## Configuration
|
|
118
|
+
|
|
119
|
+
### Custom Docker Socket
|
|
120
|
+
|
|
121
|
+
```bash
|
|
122
|
+
sidekick-docker --socket /var/run/docker.sock
|
|
123
|
+
sidekick-docker --socket tcp://192.168.1.100:2375
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Documentation
|
|
127
|
+
|
|
128
|
+
Full documentation is available at the [docs site](https://cesarandreslopez.github.io/sidekick-docker/).
|
|
129
|
+
|
|
130
|
+
## Contributing
|
|
131
|
+
|
|
132
|
+
Contributions are welcome! See [CONTRIBUTING.md](../CONTRIBUTING.md) for setup instructions and guidelines.
|
|
133
|
+
|
|
134
|
+
## License
|
|
135
|
+
|
|
136
|
+
[MIT](../LICENSE)
|