EQVPS

Як налаштувати self-hosted раннер GitHub Actions на VPS

Зареєструйте self-hosted раннер GitHub Actions на VPS і встановіть його як сервіс: завантажте раннер від імені користувача без root, зареєструйте з токеном репозиторію, запустіть svc.sh, щоб він переживав перезавантаження. Копійовані команди.

Self-hosted раннер дає вам CI з фіксованою вартістю й теплими кешами — без похвилинної оплати, ваш тулчейн, ваша машина. Це мінімальна інструкція з налаштування; про те, чому self-hosting виграє у хвилин GitHub-hosted, і про деталі Docker-задач дивіться повний гайд та кейс VPS для GitHub Actions.

1. Створіть користувача без root (раннер відкидає root)

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

2. Завантажте раннер

У GitHub: Settings → Actions → Runners → New self-hosted runner → Linux, що дає точне посилання для завантаження й одноразовий токен. Потім:

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. Зареєструйте його у вашому репозиторії

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

4. Встановіть як сервіс (переживає перезавантаження)

Не запускайте ./run.sh у терміналі — встановіть його:

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

Тепер раннер відображається як Idle в інтерфейсі GitHub і підхоплює задачі, націлені на нього.

5. Використовуйте його з workflow

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

Docker-задачі (опційно)

Встановіть Docker один раз, і workflow зможуть збирати образи з кешем шарів, що зберігається між запусками:

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

Дивіться встановлення Docker на VPS. Розмір: Small ($8/міс) комфортний для більшості CI; беріть потужніше для важкої компіляції. Root приблизно за хвилину, без KYC, оплата в крипті.

Часті питання

Як зареєструвати self-hosted раннер GitHub Actions?

У вашому репозиторії (або організації): Settings → Actions → Runners → New self-hosted runner → Linux. GitHub покаже команду завантаження й одноразовий токен реєстрації. Завантажте раннер від імені користувача без root, запустіть ./config.sh з цим URL і токеном, потім встановіть його як сервіс через svc.sh. Кроки нижче.

Чому раннер не може працювати під root?

Раннер за задумом відмовляється працювати під root. Створіть виділеного користувача без root (adduser runner) і налаштуйте його там. Це також обмежує те, чого може торкнутися шкідливий workflow на вашій машині.

Як тримати раннер запущеним після перезавантаження?

Використовуйте вбудований помічник svc.sh: sudo ./svc.sh install runner && sudo ./svc.sh start. Він ставить systemd-юніт, щоб раннер стартував під час завантаження й перезапускався після збою, і відображався як Idle в інтерфейсі GitHub.

Чи потрібен раннеру виділений IP?

Ні. Раннер сам підключається до GitHub по HTTPS; вхідних підключень до нього не потрібно. Підійде NAT-тариф (від $3/міс). Беріть виділений IP, лише якщо ви також розміщуєте щось, що обслуговує трафік.

Ви просите документи чи картку?

Ні. Email для реєстрації, оплата в USDC або USDT — без документів, без картки. Root приблизно за хвилину.

Коментарі

Поки немає коментарів. Будьте першим.

Залишити коментар

Коментарі проходять модерацію перед публікацією.