Add Gitea restart workflow and link-style "Run again" for the public view
Test and deploy enrollment demo / test (push) Successful in 36s
Test and deploy enrollment demo / deploy (push) Successful in 1m13s

The server deployment cannot mount the Docker socket safely, so the web
view's button now opens the Gitea page for a workflow_dispatch workflow
that recreates the stack and replays the demo. Gitea handles who may run it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 21:54:24 +03:30
co-authored by Claude Sonnet 5.5
parent bf40b92c52
commit 37ca9d4da1
7 changed files with 49 additions and 8 deletions
+5 -3
View File
@@ -20,9 +20,11 @@ cd docker && ./run-docker.sh # web view on http://localhost:8099, with the
Every push to `main` runs `.gitea/workflows/deploy.yml` on the Gitea runner: it validates the compose
files, builds all images, redeploys the stack on the server's Docker daemon with the web view published on
**port 8099** (`http://<server-ip>:8099`) and fails unless both boards pass all checks.
The public deployment has no "Run again" button, because that needs the Docker socket; to replay the run,
start the workflow manually (Actions, "Run workflow"). To run the server stack with the button anyway,
add `-f docker/compose.restart.yaml` and understand it gives the viewer control of Docker on the host.
The public web view cannot restart anything itself (that would need the Docker socket). Its **"Run again (via Gitea)"**
button opens the Gitea Actions page for `.gitea/workflows/restart.yml`; run that workflow there ("Run workflow") to replay
the whole demo on the server without rebuilding. Only people with access to the repository can do that. To run a stack
locally with a self-contained button instead, use `docker/run-docker.sh` (it adds `docker/compose.restart.yaml`, which
mounts the Docker socket: local use only).
The compose file contains **demo secrets** (broker and service passwords, a signing seed) that protect nothing
real. Do not reuse them anywhere else.