Skip to content

So richten Sie einen selbst gehosteten GitHub Runner ein

Anforderungen, um unseren eigenen GitHub Runner zu starten:

  • PAT-Token
  • Organisationsname
  • Container mit GitHub Runner
  • Docker-Host

Lassen Sie uns Schritt für Schritt einrichten. Für den Container mit GitHub Runner verwenden wir github-runner.

PAT-Token erhalten

  1. Gehen Sie zur Seite Persönliche Zugriffstoken und klicken Sie auf Neues Token generieren. pat_1
  2. Geben Sie Token-Name ein, wählen Sie Ressourcen-Eigentümer (Name Ihrer Organisation) und Ablauf (aus Sicherheitsgründen ist es besser, keine unbegrenzte Zeit zu verwenden.). pat_2
  3. Klicken Sie auf den Pfeil auf der rechten Seite von Organisationsberechtigungen. pat_3
  4. Wählen Sie Zugriff: Lesen und Schreiben für Selbst-gehostete Runner. pat_4
  5. Klicken Sie nun auf Token generieren. pat_5
  6. Kopieren Sie das generierte Token (es beginnt mit github_pat_...) an einem sicheren Ort.

Organisationsname erhalten

Ich bin der Besitzer mehrerer Organisationen. Zum Beispiel werde ich einen selbst-gehosteten Runner für die Fasthelp-ai Organisation verwenden. org_1

Unseren Runner starten

Wahrscheinlich müssen wir die Rechte für docker.sock ändern, da unser Runner Zugriff auf docker.sock benötigen wird. Es ist möglich, dies mit diesem Befehl im Terminal zu tun. Im Falle von Debian/Ubuntu:

shell
sudo chmod 666 /var/run/docker.sock

Option 1. Docker Oneliner

Jetzt können wir unser PAT-Token, den Organisationsnamen und optional den Namen verwenden.

shell
docker run --rm \
  -e ORG=fasthelp-ai \
  -e ACCESS_TOKEN=github_pat_... \
  -e NAME=hetzner-1 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  ghcr.io/romnovi/github-runner:main

Option 2. Docker Compose

shell
services:
  runner:
    image: ghcr.io/romnovi/github-runner:main
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - ORG=fasthelp-ai
      - ACCESS_TOKEN=github_pat_...
      - NAME=hetzner-1

Überprüfung

Nachdem wir den Runner gestartet haben, können wir seinen Status auf der Einstellungsseite der Organisation überprüfen: Actions -> Runners. check_1