# act_runner config. Mounted into the runner container at # /data/config.yaml (CONFIG_FILE env var points here). # # Reference: https://docs.gitea.com/usage/actions/act-runner log: level: info runner: # Persisted registration credentials. Created on first successful # `register`; reused on subsequent starts. file: /data/.runner # Max parallel jobs this runner will accept. capacity: 2 # Hard timeout per job — covers a wedged docker build, a hung ssh, # etc. 30m is generous for our deploy workflows (mostly seconds). timeout: 30m # Time given to a job to clean up after a SIGTERM before SIGKILL. shutdown_timeout: 1m # TLS verification when talking to gitea. KEEP true in prod. insecure: false # Polling cadence + per-poll HTTP timeout. fetch_timeout: 5s fetch_interval: 2s cache: # Provides actions-cache-compatible storage for `actions/cache`. enabled: true dir: /data/cache container: # Job containers join this docker network. Lets workflow steps # talk to other compose services (gitea itself, registries, etc.) # by container name. network: traefik-net privileged: false # Job containers' working dir is mounted under here on the host # (via the runner's docker.sock spawning). Kept on the runner's # /data volume so workspaces persist briefly between steps. workdir_parent: /data/workspace # Volumes the runner allows job containers to bind-mount. Keep tight. valid_volumes: [] force_pull: false host: workdir_parent: /data/host-workspace