Как настроить самохостинговый GitHub Runner
Требования для запуска собственного GitHub runner:
- PAT-токен
- Название организации
- Контейнер с github runner
- Docker-хост
Давайте настроим его шаг за шагом. Для контейнера с github runner мы будем использовать github-runner.
Получение PAT токена
- Перейдите на страницу Личные токены доступа и нажмите Создать новый токен.
- Введите Имя токена, выберите Владелец ресурса (имя вашей организации) и Срок действия (для безопасности лучше не использовать неограниченное время).
- Нажмите на стрелку справа от Разрешения организации.
- Выберите
Доступ: Чтение и запись
для Self-hosted runners. - Теперь нажмите Создать токен.
- Скопируйте сгенерированный токен (он начинается с
github_pat_...
) в безопасное место.
Получение имени организации
Я владелец нескольких организаций. Например, я буду использовать самохостинговый runner для организации fasthelp-ai.
Запуск нашего 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.