# act_runner configuration for the docker-1 runner. Every value not set here keeps the runner's default. # Reference: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml log: level: info job: dir: /data/logs # a copy of each job log, kept a week retention: 168h runner: file: /data/.runner capacity: 2 # server and frontend jobs run side by side; the e2e job is heavy on its own timeout: 1h labels: - "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest" cache: enabled: true dir: /data/cache # The cache server runs inside the runner container. Job containers sit on their own per-job # networks and cannot reach the runner's own network, so the server is published on docker-1's # docker0 address (reachable from every container on the host, not from the LAN) at a fixed port. # Without this every cache restore and save times out after minutes (seen on the first run). host: 172.17.0.1 port: 8088 container: # The job workspace is a host directory under workdir_parent, mounted into the job container at that # same absolute path. compose.yaml mounts the same host folder into the runner at the same path, so a # bind source a job names (deploy/ci/ci-secrets/..., tests/e2e) is a real path for docker-1's daemon. bind_workdir: true workdir_parent: home/spencerm/gitea/runner/work # no leading slash; the runner adds it privileged: false # The workspace bind above is itself a volume the runner must allow, or it is silently ignored # ("is not a valid volume, will be ignored") and the job falls back to a Docker volume. valid_volumes: - /home/spencerm/gitea/runner/work/** # The proxy removes what a job started (the CI compose stack included) when the job ends. sweep: true