Files
Rbm.FamStack/docs/deploy-runner.md
T
JannisandClaude Sonnet 5.5 21bb5b8732
Deploy / prod (push) Skipped
Deploy / test (push) Failing after 3s
ci: move deploy config dir to /home/jannis/familyplanner (snap docker)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-17 13:24:36 +02:00

1.4 KiB
Raw Blame History

Runner-Konfiguration für den Deploy (Gitea act_runner als Container)

Der Runner startet jeden Job in einem eigenen Container und spricht dafür mit dem Docker-Daemon des Hosts. Damit der Deploy-Workflow docker compose nutzen kann, braucht der Job-Container den Docker-Socket und das Konfigurationsverzeichnis.

1. Runner-Container (Beispiel)

services:
  runner:
    image: gitea/act_runner:latest
    restart: unless-stopped
    environment:
      GITEA_INSTANCE_URL: https://gitea.example.com
      GITEA_RUNNER_REGISTRATION_TOKEN: <token>
      CONFIG_FILE: /config.yaml
    volumes:
      - ./config.yaml:/config.yaml
      - ./data:/data
      - /var/run/docker.sock:/var/run/docker.sock

2. config.yaml des Runners

runner:
  labels:
    # Image mit Docker-CLI + Compose-Plugin
    - "ubuntu-latest:docker://catthehacker/ubuntu:act-latest"
container:
  options: "-v /var/run/docker.sock:/var/run/docker.sock -v /home/jannis/familyplanner:/home/jannis/familyplanner"
  valid_volumes:
    - /var/run/docker.sock
    - /home/jannis/familyplanner

Danach Runner neu starten. /home/jannis/familyplanner liegt auf dem Host (dort liegen test.env, prod.env). Der Pfad muss im Job-Container identisch sein, weil der Host-Daemon Mount-Pfade auflöst.

Hinweis: Jeder Job mit Socket-Zugriff hat Root-Rechte auf dem Host – Runner nur für dieses (private) Repository registrieren.