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,28 @@
# Gitea Actions-runner (Docker) för Pi5 — bygger arm64-images nativt.
#
# Engångsregistrering: hämta en registrerings-token i Gitea
# Site Administration -> Actions -> Runners -> "Create new runner"
# och lägg den i en .env bredvid denna fil (Dockge: stackens env-flik):
# GITEA_RUNNER_REGISTRATION_TOKEN=xxxxxxxx
#
# Lägg denna fil + config.yaml i /srv/dockge-staks/act-runner/ och starta i Dockge.
services:
act-runner:
image: gitea/act_runner:latest
container_name: gitea-act-runner
restart: unless-stopped
networks:
- srv_default
environment:
GITEA_INSTANCE_URL: http://gitea-d:3000 # intern adress på srv_default
GITEA_RUNNER_REGISTRATION_TOKEN: ${GITEA_RUNNER_REGISTRATION_TOKEN}
GITEA_RUNNER_NAME: pi5-docker-runner
CONFIG_FILE: /config.yaml
volumes:
- /srv/docker/act-runner:/data # runner-state (persistent)
- /var/run/docker.sock:/var/run/docker.sock # bygg via värdens Docker
- ./config.yaml:/config.yaml:ro
networks:
srv_default:
external: true