Phase 20: per-container inspect + start/stop/restart, local + agent (0.26.0)

Stack Overview now renders each service as an expandable ContainerCard with a
curated single-container inspect view and admin start/stop/restart buttons,
both for local stacks (GET/POST /api/containers/{id}[/{action}]) and remote
stacks (proxied via /api/agents/{id}/containers/* to the agent's new
/agent/containers/* endpoints). Only compose-managed containers are exposed.

Also bumps version 0.23.0 -> 0.26.0 (the bumps for the already-committed
Phase 18 image-prune / Phase 19 compose-validate were missed) and backfills
README sections for Phase 18/19/20.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
menzelj
2026-06-09 12:12:58 +00:00
co-authored by Claude Opus 4.8
parent 9c4d319f8f
commit 2f63247fc1
11 changed files with 460 additions and 38 deletions
+27
View File
@@ -153,6 +153,33 @@ as intuitive as Dockge, as capable as Portainer for Compose workflows.
container or connect any container on the host (`POST /api/networks/{id}/connect`
/ `/disconnect`).
### Phase 20 — Container management
- The stack **Overview** tab now renders each service as an expandable
**container card** instead of a static row. Expanding it fetches a curated
single-container inspect view (image, state + exit code, restart count,
started-at, networks, mounts, and environment) via
`GET /api/containers/{id}`.
- Admins get **per-container start / stop / restart** buttons directly on the
card (`POST /api/containers/{id}/{action}`), so a single misbehaving service
can be bounced without touching the rest of the stack.
- Works for **remote stacks** too — the same card is used on the remote stack
detail page, proxied through `/api/agents/{id}/containers/*` to the agent's
new `/agent/containers/*` endpoints.
- Only containers carrying the `com.docker.compose.project` label are exposed,
so this never becomes a generic "control any container on the host" backdoor.
### Phase 19 — Compose validate & diff
- The editor can **validate** a compose file (`docker compose config`) before
deploying and show a **diff against the currently deployed** definition, so
you can see exactly what a re-deploy will change.
### Phase 18 — Image prune
- **Prune images** (dangling, or all unused) from the Images page, on the local
host and on each agent.
### Phase 17 — Multi-host dashboard
- The dashboard now shows, **per host** (local + each registered agent, online