Files
agent-helm/deploy/agent-helm.compose.yaml
Bjorn Blomberg 062e02b417
Some checks failed
build-and-push / build (push) Has been cancelled
CI/CD + deploy: Gitea Actions -> registry -> Dockge -> NPM (rcai.brasse-pc.eu)
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).
2026-06-28 16:03:14 +02:00

34 lines
1.1 KiB
YAML

# agent-helm control-plane + web-UI.
# Image byggs av Gitea Actions och hämtas från den lokala registryn.
# Uppdatera till senaste: Dockge -> denna stack -> "Update" (pull + recreate).
#
# Lägg i /srv/dockge-staks/agent-helm/ och starta i Dockge.
# Sätt en stark token i stackens .env (Dockge: env-flik):
# AGENT_HELM_TOKEN=<lång-slumpad-hemlighet>
x-dockge:
urls:
- https://rcai.brasse-pc.eu
services:
agent-helm:
image: localhost:5000/agent-helm-server:latest
container_name: agent-helm
restart: unless-stopped
expose:
- "8787" # NPM binder publikt; ingen host-port behövs
environment:
AGENT_HELM_TOKEN: ${AGENT_HELM_TOKEN}
PORT: "8787"
DATA_DIR: /app/data
volumes:
# Host-mountad config/data enligt övriga appars konvention (/srv/docker/<stack>).
# Containern kör som uid 1000 (node) = brasse på host, så filer blir brasse-ägda.
# Skapa katalogen först: mkdir -p /srv/docker/agent-helm
- /srv/docker/agent-helm:/app/data
networks:
- srv_default # så NPM kan nå containern på namn
networks:
srv_default:
external: true