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,30 @@
# Forgejo-Actions-Runner für dieses Repository.
#
# Bewusst eigenständig: der Runner läuft in einem eigenen Verzeichnis und
# fasst weder /opt/forgejo noch die dortigen Container an.
#
# Einrichtung siehe README.md in diesem Ordner.
services:
runner:
image: data.forgejo.org/forgejo/runner:13.2.0
container_name: forgejo-runner
restart: unless-stopped
# Der Runner startet die Job-Container über den Docker-Socket des Hosts.
user: root
working_dir: /data
volumes:
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock
environment:
DOCKER_HOST: unix:///var/run/docker.sock
TZ: Europe/Berlin
command: forgejo-runner daemon --config /data/config.yml
# Der Server hat 4 GB der Runner selbst soll davon wenig belegen.
# Die Job-Container laufen daneben, nicht innerhalb dieses Limits.
mem_limit: 512m
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"