EQVPS

Hoe zet je een zelf-gehoste GitHub Actions-runner op een VPS op

Registreer een zelf-gehoste GitHub Actions-runner op een VPS en installeer hem als service: download de runner als niet-root-gebruiker, registreer met je repo-token, draai svc.sh zodat hij reboots overleeft. Copy-paste-commando's.

Een zelf-gehoste runner geeft je CI tegen vaste kosten met warme caches — geen facturering per minuut, jouw toolchain, jouw machine. Dit is de minimale installatiegids; waarom zelf hosten de door GitHub gehoste minuten verslaat en Docker-jobdetails vind je in de volledige gids en de VPS-voor-GitHub-Actions-use-case.

1. Maak een niet-root-gebruiker aan (de runner weigert root)

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

2. Download de runner

In GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, wat je de exacte download en een eenmalig token geeft. Daarna:

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. Registreer hem bij je repo

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

4. Installeer als service (overleeft reboots)

Draai ./run.sh niet in een terminal — installeer hem:

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

De runner verschijnt nu als Idle in de GitHub-UI en pakt jobs op die op hem gericht zijn.

5. Gebruik hem vanuit een workflow

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

Docker-jobs (optioneel)

Installeer Docker één keer, en workflows kunnen images bouwen waarbij de layer-cache tussen runs behouden blijft:

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

Zie Docker op een VPS installeren. Dimensionering: Small ($8/mnd) is comfortabel voor de meeste CI; schaal op voor zware compilatie. Root in ongeveer een minuut, geen KYC, betalen in crypto.

FAQ

Hoe registreer ik een zelf-gehoste GitHub Actions-runner?

In je repo (of org): Settings → Actions → Runners → New self-hosted runner → Linux. GitHub toont een downloadcommando en een eenmalig registratietoken. Download de runner als niet-root-gebruiker, draai ./config.sh met die URL en dat token, installeer hem dan als service met svc.sh. De stappen staan hieronder.

Waarom kan de runner niet als root draaien?

De runner weigert per ontwerp als root te draaien. Maak een aparte niet-root-gebruiker aan (adduser runner) en zet hem daar op. Dat beperkt ook wat een kwaadaardige workflow op je machine zou kunnen raken.

Hoe houd ik de runner draaiend na een reboot?

Gebruik de meegeleverde svc.sh-helper: sudo ./svc.sh install runner && sudo ./svc.sh start. Het installeert een systemd-unit zodat de runner bij het opstarten start en na een fout herstart, en als Idle in de GitHub-UI verschijnt.

Heb ik een dedicated IP nodig voor een runner?

Nee. De runner belt uit naar GitHub via HTTPS; niets hoeft hem inkomend te bereiken. Een NAT-plan (vanaf $3/mnd) werkt. Neem alleen een dedicated IP als je ook iets zelf host dat verkeer aanbiedt.

Vragen jullie om een identiteitsbewijs of kaart?

Nee. Een e-mail om je aan te melden, betalen in USDC of USDT — geen documenten, geen kaart. Root in ongeveer een minuut.

Reacties

Nog geen reacties. Wees de eerste.

Laat een reactie achter

Reacties worden gemodereerd voordat ze verschijnen.