EQVPS
Inizia

Come configurare un runner GitHub Actions self-hosted su un VPS

Registra un runner GitHub Actions self-hosted su un VPS e installalo come servizio: scarica il runner come utente non-root, registralo con il token del repo, esegui svc.sh così da sopravvivere ai riavvii. Comandi copia-incolla.

Un runner self-hosted ti dà CI a costo fisso con cache calde — nessuna fatturazione al minuto, la tua toolchain, la tua macchina. Questa è la guida di configurazione minima; perché l'auto-hosting batte i minuti ospitati da GitHub e i dettagli sui job Docker, vedi la guida completa e il caso d'uso VPS per GitHub Actions.

1. Crea un utente non-root (il runner rifiuta root)

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

2. Scarica il runner

In GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, che ti dà il download esatto e un token monouso. Poi:

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. Registralo con il tuo repo

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

4. Installa come servizio (sopravvive ai riavvii)

Non eseguire ./run.sh in un terminale — installalo:

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

Il runner ora appare come Idle nell'interfaccia GitHub e prende i job che lo puntano.

5. Usalo da un workflow

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

Job Docker (opzionale)

Installa Docker una volta, e i workflow possono costruire immagini con la cache dei layer che persiste tra le esecuzioni:

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

Vedi installare Docker su un VPS. Dimensionamento: Small (8 $/mese) è comodo per la maggior parte dei CI; sali di livello per compilazioni pesanti. Root in circa un minuto, niente KYC, pagamento in cripto.

FAQ

Come registro un runner GitHub Actions self-hosted?

Nel tuo repo (o org): Settings → Actions → Runners → New self-hosted runner → Linux. GitHub mostra un comando di download e un token di registrazione monouso. Scarica il runner come utente non-root, esegui ./config.sh con quell'URL e il token, poi installalo come servizio con svc.sh. I passaggi sono sotto.

Perché il runner non può girare come root?

Il runner rifiuta di girare come root per progettazione. Crea un utente non-root dedicato (adduser runner) e configuralo lì. Questo limita anche ciò che un workflow malevolo potrebbe toccare sulla tua macchina.

Come tengo il runner in esecuzione dopo un riavvio?

Usa l'helper svc.sh incluso: sudo ./svc.sh install runner && sudo ./svc.sh start. Installa un'unità systemd così che il runner parta al boot e si riavvii in caso di errore, e appaia come Idle nell'interfaccia GitHub.

Mi serve un IP dedicato per un runner?

No. Il runner chiama verso GitHub in HTTPS; nulla deve raggiungerlo in ingresso. Un piano NAT (da 3 $/mese) va bene. Prendi un IP dedicato solo se ospiti tu stesso anche qualcosa che serve traffico.

Chiedete un documento o una carta?

No. Un'email per registrarti, pagamento in USDC o USDT — niente documenti, niente carta. Root in circa un minuto.

Commenti

Ancora nessun commento. Sii il primo.

Lascia un commento

I commenti sono moderati prima di comparire.