EQVPS

Comment configurer un runner GitHub Actions auto-hébergé sur un VPS

Enregistrez un runner GitHub Actions auto-hébergé sur un VPS et installez-le comme service : téléchargez le runner en tant qu'utilisateur non-root, enregistrez-le avec le token du dépôt, lancez svc.sh pour qu'il survive aux redémarrages. Commandes copier-coller.

Un runner auto-hébergé vous donne du CI à coût fixe avec des caches chauds — pas de facturation à la minute, votre toolchain, votre machine. Voici le guide d'installation minimal ; pour savoir pourquoi l'auto-hébergement bat les minutes GitHub-hosted, et pour les détails des jobs Docker, voyez le guide complet et le cas d'usage VPS pour GitHub Actions.

1. Créez un utilisateur non-root (le runner refuse root)

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

2. Téléchargez le runner

Dans GitHub : Settings → Actions → Runners → New self-hosted runner → Linux, ce qui vous donne le téléchargement exact et un token à usage unique. Puis :

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. Enregistrez-le auprès de votre dépôt

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

4. Installez comme service (survit aux redémarrages)

Ne lancez pas ./run.sh dans un terminal — installez-le :

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

Le runner apparaît maintenant comme Idle dans l'interface GitHub et récupère les jobs qui le ciblent.

5. Utilisez-le depuis un workflow

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

Jobs Docker (optionnel)

Installez Docker une fois, et les workflows peuvent construire des images avec un cache de couches qui persiste entre les exécutions :

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

Voyez installer Docker sur un VPS. Dimensionnement : Small (8 $/mois) est confortable pour la plupart des CI ; montez en gamme pour de la compilation lourde. Root en une minute environ, sans KYC, paiement en crypto.

FAQ

Comment enregistrer un runner GitHub Actions auto-hébergé ?

Dans votre dépôt (ou org) : Settings → Actions → Runners → New self-hosted runner → Linux. GitHub affiche une commande de téléchargement et un token d'enregistrement à usage unique. Téléchargez le runner en tant qu'utilisateur non-root, lancez ./config.sh avec cette URL et ce token, puis installez-le comme service avec svc.sh. Les étapes sont ci-dessous.

Pourquoi le runner ne peut-il pas tourner en root ?

Le runner refuse de tourner en root par conception. Créez un utilisateur non-root dédié (adduser runner) et configurez-le là. Cela limite aussi ce qu'un workflow malveillant pourrait toucher sur votre machine.

Comment garder le runner en marche après un redémarrage ?

Utilisez l'assistant svc.sh fourni : sudo ./svc.sh install runner && sudo ./svc.sh start. Il installe une unité systemd pour que le runner démarre au boot et redémarre en cas d'échec, et apparaisse comme Idle dans l'interface GitHub.

Ai-je besoin d'une IP dédiée pour un runner ?

Non. Le runner se connecte vers GitHub en HTTPS ; rien n'a besoin de l'atteindre en entrant. Un plan NAT (à partir de 3 $/mois) convient. Ne prenez une IP dédiée que si vous auto-hébergez aussi quelque chose qui sert du trafic.

Demandez-vous une pièce d'identité ou une carte ?

Non. Un e-mail pour s'inscrire, paiement en USDC ou USDT — pas de documents, pas de carte. Root en une minute environ.

Commentaires

Pas encore de commentaires. Soyez le premier.

Laisser un commentaire

Les commentaires sont modérés avant leur publication.