From 4a860a5191b1f810a54044ac89d307041148d5c0 Mon Sep 17 00:00:00 2001 From: xormania <127287135+xormania@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:18:10 -0400 Subject: [PATCH] =?UTF-8?q?infra:=20the=20local=20forge=20lane=20=E2=80=94?= =?UTF-8?q?=20Gitea,=20runner=20behind=20a=20profile?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A pinned Gitea (1.24) as the org's local forge/CI muscle, ports offset (+300) to coexist with the maintainer's other local lane; an act_runner (0.2.13) behind the runner profile so the base up starts Gitea alone and the runner joins only after its registration token exists — the two-step the House lane taught. GitHub remains canonical; this is muscle, not authority. Source: owner 2026-09-01 Source: original Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01XehTac5TJNmPAskwrPp7rJ --- compose.yaml | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 compose.yaml diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..dcb4f1e --- /dev/null +++ b/compose.yaml @@ -0,0 +1,46 @@ +# MinSpec local forge lane: Gitea, with an act_runner behind a profile. +# +# This starts the local CI muscle first; the application runtime wrapper +# (Caddy, Mercure, the Raddy migration) arrives separately. Images are +# version-pinned — bump deliberately, never track latest. +# +# Ports are offset (+300/+3300) so this lane coexists with the +# maintainer's other local Gitea lane. +# +# docker compose up -d # Gitea only, http://localhost:3300 +# # then: Gitea admin -> Actions -> Runners -> create registration token +# export GITEA_RUNNER_REGISTRATION_TOKEN=... +# docker compose --profile runner up -d +services: + gitea: + image: gitea/gitea:1.24 + environment: + - USER_UID=1000 + - USER_GID=1000 + - GITEA__server__ROOT_URL=http://localhost:3300/ + volumes: + - gitea-data:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + ports: + - "3300:3000" + - "3322:22" + restart: unless-stopped + + runner: + image: gitea/act_runner:0.2.13 + profiles: [runner] + depends_on: + - gitea + environment: + - GITEA_INSTANCE_URL=http://gitea:3000 + - GITEA_RUNNER_REGISTRATION_TOKEN=${GITEA_RUNNER_REGISTRATION_TOKEN:-} + - GITEA_RUNNER_NAME=minspec-local + volumes: + - runner-data:/data + - /var/run/docker.sock:/var/run/docker.sock + restart: unless-stopped + +volumes: + gitea-data: + runner-data: