Einrichtung für einen Forgejo-Actions-Runner beilegen
Some checks are pending
CI / PHP Lint (pull_request) Waiting to run
CI / PHP Lint-1 (pull_request) Waiting to run
CI / Unit Tests & Static Analysis (pull_request) Waiting to run
CI / PHP Lint (push) Waiting to run
CI / PHP Lint-1 (push) Waiting to run
CI / Unit Tests & Static Analysis (push) Waiting to run

tools/runner/ enthält eine Compose-Datei, eine Beispiel-Konfiguration und
eine Schritt-für-Schritt-Anleitung, um den Runner auf dem Server zu
registrieren. Der Runner läuft in einem eigenen Verzeichnis und fasst
/opt/forgejo nicht an.

Abgestimmt auf die vorhandenen Workflows und den Server:
- Label-Zuordnung ubuntu-latest -> node:20-bookworm, damit runs-on in
  ci.yml und release.yml greift
- capacity 1 und Speicherlimit, weil der Server nur 4 GB hat
- Hinweis darauf, was das Reichen des Docker-Sockets bedeutet, und die
  Host-Modus-Alternative samt ihrer Grenzen (setup-php braucht Container)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Friederich Loheide 2026-09-23 15:06:19 +00:00
parent ad197ecf90
commit 83f4223d89
5 changed files with 163 additions and 1 deletions

View file

@ -0,0 +1,27 @@
# Auszug aus `forgejo-runner generate-config` mit den Anpassungen, die auf
# einem kleinen Server sinnvoll sind. Vollständige Vorlage erzeugen mit:
# docker compose run --rm runner forgejo-runner generate-config > data/config.yml
log:
level: info
runner:
file: .runner
# Nur ein Job gleichzeitig der Server hat 4 GB RAM.
capacity: 1
timeout: 30m
# Labels bestimmen, welches Image ein `runs-on:` bekommt.
labels:
- "ubuntu-latest:docker://node:20-bookworm"
- "ubuntu-22.04:docker://node:20-bookworm"
cache:
enabled: true
dir: "/data/cache"
container:
network: "bridge"
privileged: false
# Images nur ziehen, wenn sie fehlen spart Bandbreite und Platz.
force_pull: false
valid_volumes: []