# Gitea Actions runner for docker-1. One act_runner container with the host Docker socket. # Jobs run in docker.gitea.com/runner-images:ubuntu-latest containers started through the socket; # the runner's Docker proxy lets a job's `docker compose` bind-mount the workspace by its own path, # which is what the e2e job needs for deploy/compose.ci.yaml. # # Install on docker-1 (see README.md): copy this folder to ~/gitea/runner, register once, then up -d. # cd ~/gitea/runner # docker compose run --rm --entrypoint act_runner runner register --no-interactive \ # --instance https://gt.pescoinc.biz --name docker-1 --config /data/config.yaml \ # --labels ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest \ # --token "$(docker exec -u git gitea gitea actions generate-runner-token)" # docker compose up -d # The registration token goes straight from Gitea into the register command. It is never written down. name: gitea-runner services: runner: # docker.gitea.com/act_runner:0.4 (act_runner v0.4.1), pinned by digest 2026-10-16. # To refresh: docker buildx imagetools inspect docker.gitea.com/act_runner:0.4 image: docker.gitea.com/act_runner:0.4@sha256:696a59b51ad3d149521e3beb0229d5fb88f87295e1616f940199793274415b56 environment: CONFIG_FILE: /data/config.yaml # Registration happens once, by hand, with the command above. These two are only read on an # unregistered start and are left here so the names are known; no token is set in this file. GITEA_INSTANCE_URL: https://gt.pescoinc.biz GITEA_RUNNER_NAME: docker-1 volumes: - ./data:/data # .runner (the registration), config.yaml, cache, job logs - /var/run/docker.sock:/var/run/docker.sock # job containers and the Docker proxy restart: unless-stopped logging: driver: json-file options: max-size: "10m" max-file: "5"