stack: Actions-Runner zurueckgebaut (CFGMON-11) - CI laeuft im Lab-GitLab

builder-1 hat keine Konsumenten mehr (Workflows nach GitLab portiert bzw.
entfernt, Actions-Toggles deaktiviert). Deploy dieses Stands + Runner-
Deregistrierung in der Gitea-UI + Loeschen von runner-data/ sind manuelle
Host-Schritte, dokumentiert in Backlogs CFGMON-11.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Thore Cimbal
2026-07-31 18:00:43 +02:00
co-authored by Claude Fable 5
parent 02b32248b7
commit d904734d2d
4 changed files with 9 additions and 83 deletions
-5
View File
@@ -1,5 +0,0 @@
# Vorlage: nach .env kopieren und Wert setzen.
# Nur fuer die Runner-Erstregistrierung noetig, danach wieder leeren.
# Token erzeugen:
# docker exec -u git thread-net-git-gitea-1 gitea actions generate-runner-token
RUNNER_TOKEN='changeme'
+7 -21
View File
@@ -1,4 +1,4 @@
# thread-net-git — Traefik + Gitea + cAdvisor + Actions-Runner (CFGMON)
# thread-net-git — Traefik + Gitea + cAdvisor (CFGMON)
Infrastruktur-Repo für den Kern-Stack auf dem Operating-Host (CFGMON,
`rohana.axion1337.de`). Abgelöst aus dem unversionierten Portainer-Stack
@@ -9,7 +9,6 @@ Infrastruktur-Repo für den Kern-Stack auf dem Operating-Host (CFGMON,
| reverse-proxy | traefik:v3.7.9 | TLS-Terminierung für ALLE Dienste des Hosts (auch Grafana aus dem monitoring-Stack) |
| gitea | gitea/gitea:1.27.0 | Git-Hosting, `rohana.axion1337.de` |
| cadvisor | cadvisor:v0.49.1 | Container-Metriken für Prometheus (monitoring-Stack) |
| runner | gitea/act_runner:0.6.1 | Gitea-Actions-Runner `builder-1` (Labels: `linux-build`, `win-wine`) |
## Unumstößliche Regeln
@@ -44,26 +43,13 @@ docker run --rm -v thread-net-git_letsencrypt:/dst -v /opt/backup:/src alpine \
docker compose up -d
```
## Runner
## Runner (entfernt 2026-08-01)
Erstregistrierung (einmalig, Identität landet danach in `runner-data/.runner`):
```bash
cp .env.example .env
docker exec -u git thread-net-git-gitea-1 gitea actions generate-runner-token
# Token in .env als RUNNER_TOKEN eintragen, dann:
docker compose up -d runner
# Registrierung prüfen (Admin-UI → Actions → Runners), danach .env leeren.
```
Job-Labels: `linux-build` (electronuserland/builder:22) und `win-wine`
(electronuserland/builder:wine, Windows-Cross-Builds). Kapazität 1,
Job-Container limitiert auf 2,2 GiB / 1,5 CPUs (`runner/config.yaml`) —
der Host hat nur 2 Kerne / 3,7 GiB ohne Swap.
Job-Container erreichen `rohana.axion1337.de` über das Docker-Host-Gateway
(`extra_hosts` + `--add-host` in den Container-Options) — das umgeht die
Cloud-Firewall, ohne die Zertifikatsprüfung zu brechen.
Der Gitea-Actions-Runner `builder-1` wurde im Zuge des CI-Umzugs ins Homelab-GitLab
zurückgebaut (Backlogs CFGMON-11): alle Workflows laufen jetzt in der Lab-CI, die
Gitea-Actions-Toggles der Repos sind deaktiviert. Beim nächsten Deploy dieses Stacks
verschwindet der Runner-Container; zusätzlich einmalig auf dem Host: `builder-1` in der
Gitea-Admin-UI deregistrieren und `runner-data/` löschen.
## Backup & Restore
+1 -33
View File
@@ -1,4 +1,4 @@
# Stack "thread-net-git" (CFGMON): Traefik + Gitea + cAdvisor + Actions-Runner.
# Stack "thread-net-git" (CFGMON): Traefik + Gitea + cAdvisor.
# Abgeloest aus Portainer (Stack-ID 8) am 2026-07-30.
#
# WICHTIG: Der Compose-Projektname MUSS "thread-net-git" bleiben (siehe
@@ -78,38 +78,6 @@ services:
networks:
- traefik
runner:
# Offizielles Image heisst gitea/act_runner (nicht gitea/runner).
image: gitea/act_runner:0.6.1
container_name: gitea-runner
restart: always
depends_on:
- gitea
environment:
GITEA_INSTANCE_URL: https://rohana.axion1337.de
# Nur fuer die Erstregistrierung noetig (aus .env); danach liegt die
# Runner-Identitaet in ./runner-data/.runner und .env kann geleert werden.
GITEA_RUNNER_REGISTRATION_TOKEN: ${RUNNER_TOKEN:-}
GITEA_RUNNER_NAME: builder-1
# ubuntu-latest: Standard-Label der chat-gitops-Workflows (leichtes Image);
# linux-build/win-wine: Electron-Builds (Linux nativ / Windows via Wine).
# Eine Zeile ohne Leerzeichen: der Entrypoint uebergibt den Wert
# unquoted, Spaces wuerden als zusaetzliche Argumente zerfallen.
GITEA_RUNNER_LABELS: "ubuntu-latest:docker://node:20-bookworm,linux-build:docker://electronuserland/builder:22,win-wine:docker://electronuserland/builder:wine"
CONFIG_FILE: /config.yaml
TZ: Europe/Berlin
extra_hosts:
# Hairpin ueber das Docker-Host-Gateway: umgeht die Cloud-Firewall,
# das Traefik-Zertifikat bleibt dabei gueltig.
- "rohana.axion1337.de:host-gateway"
ports:
# Actions-Cache: nur auf dem Docker-Gateway gebunden, damit ihn
# Job-Container erreichen, aber nichts von aussen.
- "172.17.0.1:8088:8088"
volumes:
- ./runner/config.yaml:/config.yaml:ro
- ./runner-data:/data
- /var/run/docker.sock:/var/run/docker.sock
networks:
- default
-23
View File
@@ -1,23 +0,0 @@
log:
level: info
runner:
# 2 parallele Electron-Builds auf 2 Kernen / 3.7 GiB ohne Swap enden im
# OOM -- bei Host-Upgrade hochsetzen.
capacity: 1
timeout: 3h
cache:
enabled: true
host: "172.17.0.1"
port: 8088
container:
network: bridge
privileged: false
# --add-host: Job-Container erreichen Gitea ueber das Host-Gateway
# (Firewall-Hairpin, siehe docker-compose.yml).
# --memory/--cpus: Limits fuer die Job-Container -- sie laufen als
# Siblings ueber docker.sock, Limits am Runner-Container selbst
# greifen fuer sie nicht.
options: "--add-host=rohana.axion1337.de:host-gateway --memory=2200m --memory-swap=2200m --cpus=1.5"