Skip to content

Как настроить самохостинговый GitHub Runner

Требования для запуска собственного GitHub runner:

  • PAT-токен
  • Название организации
  • Контейнер с github runner
  • Docker-хост

Давайте настроим его шаг за шагом. Для контейнера с github runner мы будем использовать github-runner.

Получение PAT токена

  1. Перейдите на страницу Личные токены доступа и нажмите Создать новый токен. pat_1
  2. Введите Имя токена, выберите Владелец ресурса (имя вашей организации) и Срок действия (для безопасности лучше не использовать неограниченное время). pat_2
  3. Нажмите на стрелку справа от Разрешения организации. pat_3
  4. Выберите Доступ: Чтение и запись для Self-hosted runners. pat_4
  5. Теперь нажмите Создать токен. pat_5
  6. Скопируйте сгенерированный токен (он начинается с github_pat_...) в безопасное место.

Получение имени организации

Я владелец нескольких организаций. Например, я буду использовать самохостинговый runner для организации fasthelp-ai. org_1

Запуск нашего runner

Вероятно, нам нужно изменить права для docker.sock, так как наш runner будет нуждаться в доступе к docker.sock. Это можно сделать этой командой в терминале. В случае debian/ubuntu:

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

Вариант 1. Однострочник Docker

Теперь мы можем использовать наш PAT токен, название организации и опциональное имя.

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

Вариант 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

Проверка

После того как мы запускаем runner, мы можем проверить его статус на странице настроек организации: Actions -> Runners. check_1