Wer einen GitHub Actions Self-Hosted Runner auf einem Raspberry Pi 5 betreibt, startet diesen anfangs oft manuell mit:
./run.sh
Nach einem Reboot ist der Runner dann allerdings offline.
Die saubere Lösung ist die Installation als systemd-Service.
Runner als Service installieren
In das Runner-Verzeichnis wechseln:
cd ~/actions-runner
Service installieren:
sudo ./svc.sh install
Runner direkt starten:
sudo ./svc.sh start
Status prüfen
sudo ./svc.sh status
oder allgemeiner:
systemctl status actions.runner.*
Prüfen ob Autostart aktiv ist
systemctl is-enabled actions.runner.*
Ausgabe sollte sein:
enabled
Damit startet der Runner automatisch nach jedem Reboot.
Logs anzeigen
Sehr hilfreich bei Problemen:
journalctl -u actions.runner.* -f
oder:
sudo journalctl -xe
Wichtige Hinweise
run.sh nicht zusätzlich starten
Wenn der Service aktiv ist:
sudo ./svc.sh start
sollte ./run.sh nicht parallel manuell gestartet werden.
Mehrere Repositories
- Repository-Runner → nur für ein Repository
- Organization-Runner → für mehrere Repositories nutzbar
Alternativ können mehrere Runner auf demselben Raspi5 installiert werden, jeweils in separaten Verzeichnissen.
Typischer Komplettablauf
mkdir actions-runner
cd actions-runner
tar xzf actions-runner-linux-arm64-*.tar.gz
./config.sh --url https://github.com/ORG/REPO --token XXXXX
sudo ./svc.sh install
sudo ./svc.sh start
Fazit
Für stabile CI/CD-Umgebungen auf einem Raspberry Pi sollte der GitHub Runner immer als systemd-Service betrieben werden. Dadurch ist der Runner nach Neustarts automatisch wieder verfügbar und deutlich robuster im Dauerbetrieb.
