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:
co-authored by
Claude Fable 5
parent
02b32248b7
commit
d904734d2d
@@ -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'
|
|
||||||
@@ -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,
|
Infrastruktur-Repo für den Kern-Stack auf dem Operating-Host (CFGMON,
|
||||||
`rohana.axion1337.de`). Abgelöst aus dem unversionierten Portainer-Stack
|
`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) |
|
| 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` |
|
| gitea | gitea/gitea:1.27.0 | Git-Hosting, `rohana.axion1337.de` |
|
||||||
| cadvisor | cadvisor:v0.49.1 | Container-Metriken für Prometheus (monitoring-Stack) |
|
| 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
|
## 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
|
docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
## Runner
|
## Runner (entfernt 2026-08-01)
|
||||||
|
|
||||||
Erstregistrierung (einmalig, Identität landet danach in `runner-data/.runner`):
|
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
|
||||||
```bash
|
Gitea-Actions-Toggles der Repos sind deaktiviert. Beim nächsten Deploy dieses Stacks
|
||||||
cp .env.example .env
|
verschwindet der Runner-Container; zusätzlich einmalig auf dem Host: `builder-1` in der
|
||||||
docker exec -u git thread-net-git-gitea-1 gitea actions generate-runner-token
|
Gitea-Admin-UI deregistrieren und `runner-data/` löschen.
|
||||||
# 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.
|
|
||||||
|
|
||||||
## Backup & Restore
|
## Backup & Restore
|
||||||
|
|
||||||
|
|||||||
+2
-34
@@ -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.
|
# Abgeloest aus Portainer (Stack-ID 8) am 2026-07-30.
|
||||||
#
|
#
|
||||||
# WICHTIG: Der Compose-Projektname MUSS "thread-net-git" bleiben (siehe
|
# WICHTIG: Der Compose-Projektname MUSS "thread-net-git" bleiben (siehe
|
||||||
@@ -78,39 +78,7 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- traefik
|
- traefik
|
||||||
|
|
||||||
runner:
|
networks:
|
||||||
# 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
|
- default
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -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"
|
|
||||||
Reference in New Issue
Block a user