EQVPS

Hur man sätter upp en självhostad GitHub Actions-runner på en VPS

Registrera en självhostad GitHub Actions-runner på en VPS och installera den som en tjänst: ladda ner runnern som icke-root-användare, registrera med ditt repo-token, kör svc.sh så att den överlever omstarter. Kopiera-och-klistra-kommandon.

En självhostad runner ger dig CI till fast kostnad med varma cachar — ingen fakturering per minut, din verktygskedja, din maskin. Detta är den minimala uppsättningsguiden; varför självhosting slår GitHub-hostade minuter och detaljer om Docker-jobb finns i den fullständiga guiden och användningsfallet VPS för GitHub Actions.

1. Skapa en icke-root-användare (runnern vägrar root)

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

2. Ladda ner runnern

I GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, vilket ger dig den exakta nedladdningen och ett engångstoken. Sedan:

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. Registrera den hos ditt repo

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

4. Installera som tjänst (överlever omstarter)

Kör inte ./run.sh i en terminal — installera den:

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

Runnern visas nu som Idle i GitHub-gränssnittet och plockar upp jobb som riktar sig till den.

5. Använd den från ett workflow

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

Docker-jobb (valfritt)

Installera Docker en gång, så kan workflows bygga images med lagercache som består mellan körningar:

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

Se installera Docker på en VPS. Dimensionering: Small ($8/mån) är bekvämt för de flesta CI; skala upp för tung kompilering. Root på ungefär en minut, ingen KYC, betala i krypto.

FAQ

Hur registrerar jag en självhostad GitHub Actions-runner?

I ditt repo (eller din org): Settings → Actions → Runners → New self-hosted runner → Linux. GitHub visar ett nedladdningskommando och ett engångsregistreringstoken. Ladda ner runnern som icke-root-användare, kör ./config.sh med den URL:en och token, installera den sedan som tjänst med svc.sh. Stegen finns nedan.

Varför kan runnern inte köra som root?

Runnern vägrar köra som root av design. Skapa en dedikerad icke-root-användare (adduser runner) och sätt upp den där. Det begränsar också vad ett skadligt workflow skulle kunna röra på din maskin.

Hur håller jag runnern igång efter omstart?

Använd den medföljande svc.sh-hjälpen: sudo ./svc.sh install runner && sudo ./svc.sh start. Den installerar en systemd-enhet så att runnern startar vid uppstart och startar om vid fel, och visas som Idle i GitHub-gränssnittet.

Behöver jag en dedikerad IP för en runner?

Nej. Runnern ringer ut till GitHub över HTTPS; inget behöver nå den inkommande. Ett NAT-plan (från $3/mån) fungerar. Ta en dedikerad IP bara om du dessutom självhostar något som serverar trafik.

Kräver ni ID eller kort?

Nej. En e-post för att registrera dig, betalning i USDC eller USDT — inga dokument, inget kort. Root på ungefär en minut.

Kommentarer

Inga kommentarer än. Bli först.

Lämna en kommentar

Kommentarer modereras innan de visas.