diff --git a/.env.example b/.env.example deleted file mode 100644 index d1eda93..0000000 --- a/.env.example +++ /dev/null @@ -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' diff --git a/README.md b/README.md index cc6b4fa..7dd8255 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/docker-compose.yml b/docker-compose.yml index cbc8870..d0d5824 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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,39 +78,7 @@ 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: +networks: - default networks: diff --git a/runner/config.yaml b/runner/config.yaml deleted file mode 100644 index 32800b0..0000000 --- a/runner/config.yaml +++ /dev/null @@ -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"