tf-services/docker-compose.runners.yml
Natalie 7c9512791e fix(runners): broad ct labels to match self-hosted workflow runs-on
CT workflows use runs-on:[self-hosted,linux,do,ct-forge,<app>]; runners need
those labels (runner labels must be a superset of job labels) or jobs never match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 09:02:48 -04:00

39 lines
2.3 KiB
YAML

# Forgejo Actions runners — co-located on com.uvlava.quinn.artifacts, one per forge.
# Standing runners (always-on) executing each repo's .forgejo/workflows (semver/build/publish).
# Registration tokens are RUNTIME secrets (per forge, from /api/v1/admin/runners/registration-token),
# injected at deploy — NEVER committed. Templated here; fill GITEA_RUNNER_REGISTRATION_TOKEN per runner.
# On-demand burst scaling (beyond these standing runners) is the separate ci-runners terraform.
# Deploy: docker compose -f docker-compose.runners.yml up -d (shares the forges' services_default net)
services:
runner-ct:
image: gitea/act_runner:latest
restart: always
environment:
GITEA_INSTANCE_URL: "http://forgejo-ct:3000"
GITEA_RUNNER_REGISTRATION_TOKEN: "__CT_REGTOKEN__"
GITEA_RUNNER_NAME: "artifacts-ct"
# Broad set so workflows' `runs-on: [self-hosted, linux, do, ct-forge, <app>]` match (runner labels ⊇ job labels).
GITEA_RUNNER_LABELS: "ubuntu-latest:docker://node:20-bookworm,self-hosted:docker://node:20-bookworm,linux:docker://node:20-bookworm,do:docker://node:20-bookworm,ct-forge:docker://node:20-bookworm,docker:docker://node:20-bookworm,prospector:docker://node:20-bookworm,redroid:docker://node:20-bookworm,mr-number:docker://node:20-bookworm,whatsapp:docker://node:20-bookworm,macsync:docker://node:20-bookworm,quinn-desktop:docker://node:20-bookworm"
volumes: [ /var/run/docker.sock:/var/run/docker.sock, /opt/services/runner-ct:/data ]
runner-mc:
image: gitea/act_runner:latest
restart: always
environment:
GITEA_INSTANCE_URL: "http://forgejo-mc:3000"
GITEA_RUNNER_REGISTRATION_TOKEN: "__MC_REGTOKEN__"
GITEA_RUNNER_NAME: "artifacts-mc"
GITEA_RUNNER_LABELS: "ubuntu-latest:docker://node:20-bookworm"
volumes: [ /var/run/docker.sock:/var/run/docker.sock, /opt/services/runner-mc:/data ]
runner-quinn:
image: gitea/act_runner:latest
restart: always
environment:
GITEA_INSTANCE_URL: "http://forgejo-quinn:3000"
GITEA_RUNNER_REGISTRATION_TOKEN: "__QUINN_REGTOKEN__"
GITEA_RUNNER_NAME: "artifacts-quinn"
GITEA_RUNNER_LABELS: "ubuntu-latest:docker://node:20-bookworm"
volumes: [ /var/run/docker.sock:/var/run/docker.sock, /opt/services/runner-quinn:/data ]
networks:
default:
name: services_default
external: true