Files
mailadler/docs/PI_RUNNER_SETUP.md
2026-02-04 04:44:35 +01:00

2.1 KiB

Raspberry Pi 5 als GitHub Actions Self-Hosted Runner

Voraussetzungen

  • Raspberry Pi 5 (8GB) mit Raspberry Pi OS (64-bit)
  • Internetverbindung
  • GitHub Repository Admin-Zugang

1. Dependencies installieren (einmalig)

sudo apt update && sudo apt upgrade -y
sudo apt install -y \
  build-essential cmake ninja-build git curl \
  qt6-base-dev qt6-websockets-dev \
  libgl1-mesa-dev libxkbcommon-dev \
  libxcb-xinerama0-dev libxcb-cursor0 \
  libsqlite3-dev libssl-dev

2. GitHub Runner installieren

# Verzeichnis erstellen
mkdir -p ~/actions-runner && cd ~/actions-runner

# Runner herunterladen (ARM64 Version)
curl -o actions-runner-linux-arm64-2.321.0.tar.gz -L \
  https://github.com/actions/runner/releases/download/v2.321.0/actions-runner-linux-arm64-2.321.0.tar.gz

# Entpacken
tar xzf ./actions-runner-linux-arm64-2.321.0.tar.gz

3. Runner registrieren

  1. Gehe zu: https://github.com/georg0480/mailadler/settings/actions/runners/new
  2. Wähle "Linux" und "ARM64"
  3. Kopiere den Token aus der Anleitung
  4. Führe aus:
./config.sh --url https://github.com/georg0480/mailadler --token DEIN_TOKEN

Bei der Konfiguration:

  • Runner group: Enter (default)
  • Runner name: pi5-dns (oder anderer Name)
  • Labels: self-hosted,linux,ARM64 (wichtig!)
  • Work folder: Enter (default: _work)

4. Als Systemd-Service einrichten (läuft automatisch)

sudo ./svc.sh install
sudo ./svc.sh start

# Status prüfen
sudo ./svc.sh status

5. Testen

Gehe zu: https://github.com/georg0480/mailadler/actions

Klicke auf "build-mailadler-linux-arm64" → "Run workflow"

Der Build sollte auf deinem Pi laufen!

Ressourcen-Tipps für DNS-Server + Runner

Da der Pi auch DNS-Server ist:

# Runner-Priority senken (nice)
sudo nano /etc/systemd/system/actions.runner.*.service

Füge hinzu unter [Service]:

Nice=10
CPUQuota=75%
MemoryMax=6G
sudo systemctl daemon-reload
sudo systemctl restart actions.runner.*.service

Logs anschauen

journalctl -u actions.runner.* -f

Runner stoppen/deaktivieren

sudo ./svc.sh stop
sudo ./svc.sh uninstall