EQVPS

Wie man einen selbstgehosteten GitHub-Actions-Runner auf einem VPS einrichtet

Registriere einen selbstgehosteten GitHub-Actions-Runner auf einem VPS und installiere ihn als Dienst: lade den Runner als Nicht-Root-Benutzer herunter, registriere ihn mit deinem Repo-Token, führe svc.sh aus, damit er Neustarts übersteht. Copy-paste-Befehle.

Ein selbstgehosteter Runner gibt dir CI zu Fixkosten mit warmen Caches — keine Abrechnung pro Minute, deine Toolchain, deine Maschine. Das ist die minimale Einrichtungsanleitung; warum Selfhosting die GitHub-gehosteten Minuten schlägt, und zu Docker-Job-Details siehe den vollständigen Leitfaden und den Anwendungsfall VPS für GitHub Actions.

1. Lege einen Nicht-Root-Benutzer an (der Runner verweigert root)

adduser --disabled-password --gecos "" runner
su - runner

2. Lade den Runner herunter

In GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, das dir den exakten Download und ein einmaliges Token liefert. Dann:

mkdir actions-runner && cd actions-runner
curl -o actions-runner-linux-x64.tar.gz -L \
  https://github.com/actions/runner/releases/latest/download/actions-runner-linux-x64.tar.gz
tar xzf actions-runner-linux-x64.tar.gz

3. Registriere ihn bei deinem Repo

./config.sh --url https://github.com/YOUR_ORG/YOUR_REPO --token YOUR_TOKEN

4. Als Dienst installieren (übersteht Neustarts)

Führe ./run.sh nicht in einem Terminal aus — installiere ihn:

sudo ./svc.sh install runner
sudo ./svc.sh start
sudo ./svc.sh status

Der Runner erscheint nun als Idle in der GitHub-UI und nimmt Jobs an, die auf ihn abzielen.

5. Verwende ihn aus einem Workflow

jobs:
  build:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v4
      - run: make build && make test

Docker-Jobs (optional)

Installiere Docker einmal, und Workflows können Images bauen, wobei der Layer-Cache zwischen Läufen erhalten bleibt:

sudo apt install -y docker.io
sudo usermod -aG docker runner

Siehe Docker auf einem VPS installieren. Dimensionierung: Small ($8/Monat) ist für die meisten CI bequem; stufe für schwere Kompilierung hoch. Root in etwa einer Minute, kein KYC, Zahlung in Krypto.

FAQ

Wie registriere ich einen selbstgehosteten GitHub-Actions-Runner?

In deinem Repo (oder deiner Org): Settings → Actions → Runners → New self-hosted runner → Linux. GitHub zeigt einen Download-Befehl und ein einmaliges Registrierungstoken. Lade den Runner als Nicht-Root-Benutzer herunter, führe ./config.sh mit dieser URL und dem Token aus, dann installiere ihn als Dienst mit svc.sh. Die Schritte stehen unten.

Warum kann der Runner nicht als root laufen?

Der Runner weigert sich per Design, als root zu laufen. Lege einen dedizierten Nicht-Root-Benutzer an (adduser runner) und richte ihn dort ein. Das begrenzt auch, was ein bösartiger Workflow auf deiner Maschine anfassen könnte.

Wie halte ich den Runner nach dem Neustart am Laufen?

Nutze das mitgelieferte svc.sh-Hilfsmittel: sudo ./svc.sh install runner && sudo ./svc.sh start. Es installiert eine systemd-Unit, sodass der Runner beim Boot startet und nach einem Fehler neu startet und in der GitHub-UI als Idle erscheint.

Brauche ich eine dedizierte IP für einen Runner?

Nein. Der Runner wählt sich per HTTPS zu GitHub hinaus; nichts muss ihn eingehend erreichen. Ein NAT-Tarif (ab $3/Monat) funktioniert. Nimm eine dedizierte IP nur, wenn du zusätzlich etwas selbst hostest, das Traffic ausliefert.

Verlangt ihr Ausweis oder Karte?

Nein. E-Mail zum Registrieren, Zahlung in USDC oder USDT — keine Dokumente, keine Karte. Root in etwa einer Minute.

Kommentare

Noch keine Kommentare. Sei der Erste.

Kommentar hinterlassen

Kommentare werden vor der Anzeige moderiert.