К содержимому
gtcnsl
EN RU

Быстрый старт

От свежеустановленного бинарника до работающего Gitea с CI — три команды и пара проверок.

Актуально для v1.3.2

Перед началом

Нужны: gtcnsl в PATH (см. Установку), домен, указывающий на машину, и root. Остальное gtcnsl настроит сам.

Установить Gitea

gtcnsl gitea install --yes

Скачивает проверенный бинарь Gitea с официального зеркала, создаёт пользователя git, пишет дефолтный app.ini, разворачивает systemd-юнит и запускает Gitea — с авто-откатом, если health-check не прошёл. (--yes подтверждает разрушающую операцию без оператора.)

i
Задайте домен
install пишет дефолтный app.ini. Направьте его на ваш хост через gtcnsl config set server.DOMAIN git.example.com --yes — или примените целый шаблон (см. «Конфигурация»).

Установить раннер

gtcnsl runner install --executor=docker --yes

Ставит Gitea Actions Runner и его systemd-юнит gitea-runner с выбранным executor-ом (--executor обязателен: host, docker, docker-rootless, podman, dind-rootless). Юнит развёрнут, но остаётся остановленным и пока не включённым — регистрация стартует его и включает в автозагрузку; CI-задачи не запускаются, пока он не зарегистрирован.

Зарегистрировать раннер

gtcnsl runner register --instance https://git.example.com --token <fresh-token> --yes

Регистрирует раннер на вашем инстансе и запускает его. Токен возьмите в Gitea → Site Admin → Runners → Create new runner (токены обычно одноразовые). Тем же запуском gtcnsl пишет и базовый config.yaml для раннера (через собственный generate-config установленного бинарника), если его там ещё нет — см. «Конфигурация».

i
Не держите токен в argv
--token <value> виден любому на хосте всё время жизни процесса (ps, /proc/<pid>/cmdline). Вместо этого передайте --token-file <path> — он взаимоисключающий с --token — gtcnsl сам прочитает файл; на gitea-runner >= 2.1.0 токен вообще не попадает в argv.

Проверить результат

gtcnsl doctor

Докладывает PASS / WARN / FAIL по systemd, бинарникам, app.ini, секретам и обоим юнитам (gitea, gitea-runner). Откройте https://git.example.com, чтобы завершить веб-настройку.

!
Сначала DNS
Если домен ещё не резолвится на этот хост, регистрация упадёт. Настройте DNS и повторите шаг регистрации.

Что дальше

Держите app.ini в Git и дайте gtcnsl config apply устранять дрейф — про шаблонный воркфлоу см. гайд Конфигурация, про четыре управляемых секрета — Секреты.