runner: Gitea-Actions-Runner builder-1 ergaenzen
gitea/act_runner:0.6.1, Labels linux-build (electronuserland/builder:22) und win-wine (Wine-Cross-Builds fuer Windows). Kapazitaet 1 und Job-Limits 2200m/1.5cpu wegen knapper Host-Ressourcen (2 Kerne, 3.7 GiB, kein Swap). Gitea-Zugriff der Jobs via Host-Gateway-Hairpin, Actions- Cache auf 172.17.0.1:8088. Registrierungs-Token kommt aus .env (gitignored), Vorlage .env.example. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
# 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'
|
||||||
+34
-1
@@ -1,4 +1,4 @@
|
|||||||
# Stack "thread-net-git" (CFGMON): Traefik + Gitea + cAdvisor.
|
# Stack "thread-net-git" (CFGMON): Traefik + Gitea + cAdvisor + Actions-Runner.
|
||||||
# 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,6 +78,39 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- traefik
|
- 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
|
||||||
|
GITEA_RUNNER_LABELS: >-
|
||||||
|
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
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
traefik:
|
traefik:
|
||||||
external: true
|
external: true
|
||||||
|
|||||||
@@ -0,0 +1,23 @@
|
|||||||
|
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