services: runner: image: gitea/act_runner:latest container_name: gitea-runner restart: unless-stopped environment: # Interne Adresse ueber das gemeinsame Netz gitea-ci. # NICHT die oeffentliche Domain: Gitea laeuft auf demselben Host, der # Weg ueber die oeffentliche IP findet nicht zurueck (NAT-Hairpin) # und die Registrierung haengt still. GITEA_INSTANCE_URL: http://${GITEA_CONTAINER}:${GITEA_PORT} GITEA_RUNNER_REGISTRATION_TOKEN: ${GITEA_RUNNER_REGISTRATION_TOKEN} GITEA_RUNNER_NAME: vps-runner # Ohne das wird die gemountete config.yaml ignoriert. CONFIG_FILE: /config.yaml GITEA_RUNNER_LABELS: ubuntu-latest:docker://catthehacker/ubuntu:act-latest volumes: - ./data:/data - ./config.yaml:/config.yaml:ro # Der Runner steuert den Docker-Daemon des Hosts. # ACHTUNG: das entspricht Root-Rechten auf dem VPS. - /var/run/docker.sock:/var/run/docker.sock networks: - gitea-ci # Bewusst NICHT nginx-proxy-manager_default: der Runner spricht mit Gitea, # nicht mit dem Proxy. Das Netz wird einmalig angelegt mit # docker network create gitea-ci # und muss auch in Gitea's Compose-File stehen, sonst faellt Gitea beim # naechsten Recreate wieder heraus. networks: gitea-ci: external: true