Einrichtung für einen Forgejo-Actions-Runner #6

Merged
friloo merged 1 commit from ci/runner-setup into main 2026-09-23 15:06:36 +00:00
Owner

Legt unter tools/runner/ alles ab, was für den Runner nötig ist – Compose-Datei, Beispiel-Konfiguration und eine Schritt-für-Schritt-Anleitung.

Hinweis vorweg: Ich konnte den Runner aus dieser Sitzung heraus nicht starten – der Benutzer dev ist nicht in der docker-Gruppe, sudo ist durch „no new privileges" gesperrt, und die Sitzungsumgebung ist ohnehin flüchtig. Die drei Befehle aus der Anleitung müssen als root auf dem Server laufen.

Inhalt

  • docker-compose.yml – Runner 13.2.0, eigener Ordner, Docker-Socket des Hosts, mem_limit: 512m, Log-Rotation
  • config.example.ymlcapacity: 1, Timeout, Label-Zuordnung, Cache
  • README.md – Token holen (Web oder API), registrieren, Konfiguration erzeugen, starten

Abgestimmt auf dieses Setup

  • Label-Zuordnung ubuntu-latest:docker://node:20-bookworm, damit runs-on: ubuntu-latest aus ci.yml und release.yml greift; Node für actions/checkout ist in dem Image enthalten
  • capacity: 1 und Speicherlimit, weil der Server nur 4 GB hat
  • /opt/forgejo und die dortigen Container werden nicht angefasst – der Runner bekommt ein eigenes Verzeichnis

Zwei Punkte zum bewussten Entscheiden

  1. Der Runner bekommt den Docker-Socket gereicht; damit kann jeder Workflow auf diesem Runner faktisch Root auf dem Server erlangen. Für ein privates Repository mit eigenen Workflows üblich – sobald Fremde Pull Requests öffnen können, gehört der Runner auf eine separate Maschine.
  2. Host-Modus ohne Docker ist dokumentiert, reicht aber nur für release.yml. ci.yml installiert PHP 7.4 und 8.2 über shivammathur/setup-php, das braucht einen Container.

🤖 Generated with Claude Code

Legt unter `tools/runner/` alles ab, was für den Runner nötig ist – Compose-Datei, Beispiel-Konfiguration und eine Schritt-für-Schritt-Anleitung. **Hinweis vorweg:** Ich konnte den Runner aus dieser Sitzung heraus nicht starten – der Benutzer `dev` ist nicht in der `docker`-Gruppe, `sudo` ist durch „no new privileges" gesperrt, und die Sitzungsumgebung ist ohnehin flüchtig. Die drei Befehle aus der Anleitung müssen als root auf dem Server laufen. ## Inhalt - `docker-compose.yml` – Runner 13.2.0, eigener Ordner, Docker-Socket des Hosts, `mem_limit: 512m`, Log-Rotation - `config.example.yml` – `capacity: 1`, Timeout, Label-Zuordnung, Cache - `README.md` – Token holen (Web oder API), registrieren, Konfiguration erzeugen, starten ## Abgestimmt auf dieses Setup - **Label-Zuordnung** `ubuntu-latest:docker://node:20-bookworm`, damit `runs-on: ubuntu-latest` aus `ci.yml` und `release.yml` greift; Node für `actions/checkout` ist in dem Image enthalten - **`capacity: 1`** und Speicherlimit, weil der Server nur 4 GB hat - `/opt/forgejo` und die dortigen Container werden nicht angefasst – der Runner bekommt ein eigenes Verzeichnis ## Zwei Punkte zum bewussten Entscheiden 1. Der Runner bekommt den **Docker-Socket** gereicht; damit kann jeder Workflow auf diesem Runner faktisch Root auf dem Server erlangen. Für ein privates Repository mit eigenen Workflows üblich – sobald Fremde Pull Requests öffnen können, gehört der Runner auf eine separate Maschine. 2. **Host-Modus ohne Docker** ist dokumentiert, reicht aber nur für `release.yml`. `ci.yml` installiert PHP 7.4 und 8.2 über `shivammathur/setup-php`, das braucht einen Container. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
friloo added 1 commit 2026-09-23 15:06:36 +00:00
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
83f4223d89
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>
friloo merged commit 5d72febadc into main 2026-09-23 15:06:36 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: friloo/Unifi-Voucher-Tool#6
No description provided.