CI/CD + deploy: Gitea Actions -> registry -> Dockge -> NPM (rcai.brasse-pc.eu)
Some checks failed
build-and-push / build (push) Has been cancelled

Server:
- serverar byggd web-frontend statiskt + SPA-fallback (WEB_DIST)
- host-mountad persistent katalog via DATA_DIR (/srv/docker/agent-helm -> /app/data),
  förberedd för framtida db/auth enligt övriga appars konvention
- esbuild-bundle -> dist/server.cjs (en fil, inga node_modules i runtime)
Web:
- WS-URL defaultar till samma origin i prod (wss://rcai.brasse-pc.eu), localhost i dev

Deploy-artefakter:
- Dockerfile: multi-stage, bygger web + bundlar server; --filter utesluter daemon
  (ingen node-pty-kompilering); kör som uid 1000 (= brasse på host)
- .gitea/workflows/build.yaml: push master -> bygg arm64 -> push localhost:5000
- deploy/act-runner.{compose,config}.yaml: Gitea Actions-runner i Docker (docker.sock,
  job-containrar får värdens docker for build/push)
- deploy/agent-helm.compose.yaml: Dockge-stack (srv_default, expose 8787, data-mount,
  x-dockge.urls)
- deploy/DEPLOY.md: full runbook (runner, bygge, stack, NPM, uppdatering, felsökning)

Verifierat lokalt: typecheck rent, server-bundle serverar UI+health+assets+SPA-fallback,
data-dir skapas. Docker-bygget validerat så långt daemonen är nere (filter bekräftat).
This commit is contained in:
2026-06-28 16:03:14 +02:00
parent 09f1168c17
commit 062e02b417
11 changed files with 358 additions and 1 deletions

View File

@@ -0,0 +1,20 @@
# act_runner-config. Nyckeln: job-containrar får värdens docker.sock så att
# `docker build` / `docker push` i workflowen kör mot Pi5:ans Docker-daemon,
# och localhost:5000 (registryn) trustas automatiskt.
log:
level: info
runner:
capacity: 1
# Label -> image som jobben körs i. catthehacker-imagen har node + docker-CLI.
labels:
- "ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
- "ubuntu-22.04:docker://catthehacker/ubuntu:act-22.04"
container:
# Montera värdens docker.sock i varje job-container (för docker build/push).
options: "-v /var/run/docker.sock:/var/run/docker.sock"
valid_volumes:
- /var/run/docker.sock
# Job-containrar på srv_default så checkout når gitea-d:3000 internt.
network: srv_default