From e2edc343ddeb6f776097c9ac647a96b0255154f9 Mon Sep 17 00:00:00 2001 From: MpakobecEx Date: Fri, 16 Oct 2026 00:38:39 +0500 Subject: [PATCH] chore: use registration-token runner setup (Forgejo/Gitea 1.21) --- deploy/runner/.env.example | 4 ++++ deploy/runner/docker-compose.yml | 41 ++++++++++++++------------------ 2 files changed, 22 insertions(+), 23 deletions(-) create mode 100644 deploy/runner/.env.example diff --git a/deploy/runner/.env.example b/deploy/runner/.env.example new file mode 100644 index 0000000..80e06de --- /dev/null +++ b/deploy/runner/.env.example @@ -0,0 +1,4 @@ +# Скопируйте в deploy/runner/.env и заполните. +FORGEJO_URL=https://git.mpakosrv.ru +RUNNER_TOKEN= +RUNNER_NAME=home-runner diff --git a/deploy/runner/docker-compose.yml b/deploy/runner/docker-compose.yml index dc27aee..4bbf064 100644 --- a/deploy/runner/docker-compose.yml +++ b/deploy/runner/docker-compose.yml @@ -1,30 +1,25 @@ -# Act runner для Forgejo Actions (официальный образ). -# Запускать на том же хосте, где Docker с Forgejo (нужен доступ к docker.sock). +# Act runner для Forgejo/Gitea Actions (регистрация по токену). +# Подходит для Forgejo 1.21, где на странице Runners показывается Registration Token. # -# Образ: data.forgejo.org/forgejo/runner:<версия> (доступны 6, 8–13). -# ВАЖНО: версия раннера должна быть совместима с версией Forgejo. -# Forgejo 1.21 — очень старая (EOL); современный раннер может не завестись. -# Рабочая связка обычно: свежая Forgejo (15 LTS / latest) + runner :13. +# 1) Forgejo -> Site Administration -> Actions -> Runners +# Скопировать Registration Token (там же кнопка копирования). +# 2) cp .env.example .env и вписать RUNNER_TOKEN (FORGEJO_URL по умолчанию верный). +# 3) docker compose up -d и проверить: docker compose logs -f runner # -# Пошагово: -# 1) Forgejo -> Site Administration -> Actions -> Runners -> Create new Runner. -# Скопировать url / uuid / token. -# 2) Сгенерировать конфиг раннера: -# mkdir -p data -# docker run --rm -v "$PWD/data:/data" \ -# data.forgejo.org/forgejo/runner:13 \ -# forgejo-runner generate-config > data/runner-config.yml -# 3) В data/runner-config.yml заполнить: -# server.connections.forgejo.url / uuid / token -# runner.labels: ["ubuntu-latest:docker://catthehacker/ubuntu:act-latest"] -# 4) chown -R 1001:1001 data -# 5) docker compose up -d +# Раннер запускает джобы в контейнерах и использует docker.sock, +# поэтому для сборки образов внутри CI нужен образ с docker CLI. services: runner: - image: data.forgejo.org/forgejo/runner:13 + image: gitea/act_runner:latest restart: unless-stopped - user: "1001:1001" + environment: + GITEA_INSTANCE_URL: ${FORGEJO_URL:-https://git.mpakosrv.ru} + GITEA_RUNNER_REGISTRATION_TOKEN: ${RUNNER_TOKEN:?задайте RUNNER_TOKEN в .env} + GITEA_RUNNER_NAME: ${RUNNER_NAME:-home-runner} + GITEA_RUNNER_LABELS: ubuntu-latest:docker://catthehacker/ubuntu:act-latest volumes: - - ./data:/data - /var/run/docker.sock:/var/run/docker.sock - command: ["forgejo-runner", "daemon", "--config", "/data/runner-config.yml"] + - runner_data:/data + +volumes: + runner_data: