1.4 KiB
1.4 KiB
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.