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

@@ -7,6 +7,7 @@
"dev": "tsx --env-file-if-exists=../../.env watch src/index.ts",
"start": "tsx --env-file-if-exists=../../.env src/index.ts",
"build": "tsc --noEmit -p tsconfig.json",
"bundle": "esbuild src/index.ts --bundle --platform=node --target=node22 --outfile=dist/server.cjs",
"typecheck": "tsc --noEmit -p tsconfig.json"
},
"dependencies": {
@@ -18,6 +19,7 @@
"devDependencies": {
"@types/node": "^22.0.0",
"@types/ws": "^8.5.12",
"esbuild": "^0.25.0",
"tsx": "^4.19.0",
"typescript": "^5.7.0"
}