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

Релизы

Каждая помеченная сборка gtcnsl с проверенными загрузками под каждую архитектуру.

// Последний релиз
v1.3.0 latest
2026-07-18

Установить последний одной командой

Что изменилось →
$ curl -fsSL https://dl.gtcnsl.ru/v1.3.0/gtcnsl-v1.3.0-linux-amd64 -o /usr/local/bin/gtcnsl && chmod +x /usr/local/bin/gtcnsl
Каждый ассет проверяется контрольной суммой SHA-256.
v1.3.0 2026-07-18
latest
  • Gitea 1.27.x и Runner 2.x официально поддерживаются, сверены end-to-end — и `secrets rotate SECRET_KEY --reencrypt` теперь отказывается запускаться на миноре Gitea, для которого gtcnsl не сверил свою криптографию.
  • Безопасная ротация `SECRET_KEY` теперь охватывает и инстансы с `SECRET_KEY_URI`: gtcnsl резолвит ключ точно так же, как это делает сама Gitea при старте, а ротация держит файл за URI синхронизированным, вместо того чтобы молча расходиться с ним.
  • `gtcnsl runner adopt` берёт существующий Gitea Actions Runner под управление, никогда не перерегистрируя его — раннер-близнец `gitea adopt`.
  • Состояние раннера — `.runner`, `config.yaml`, его systemd-юнит — теперь путешествует вместе с `gtcnsl backup`/`restore`, так что потеря файла больше не означает новый регистрационный токен.
  • Полноценные команды `gtcnsl gitea upgrade`/`runner upgrade`, и неудачный апгрейд Gitea теперь автоматически восстанавливает предыдущий бинарник, вместо того чтобы оставить хост без него.
  • Регистрационным токенам раннера больше не обязательно попадать в argv процесса: `runner register`/`reconfigure --token-file <path>` читает токен из файла.
v1.2.1 2026-07-12
  • Прогресс скачивания больше не заливает ssh-сессии, CI-логи и TUI: троттлинг у источника, редкие обычные строки вне терминала, одна обновляемая на месте строка в TUI.
v1.2.0 2026-07-12
  • Безопасная ротация `SECRET_KEY`: `secrets rotate SECRET_KEY --reencrypt` перешифровывает все зашифрованные строки БД — секреты Actions, сиды 2FA, auth-заголовки вебхуков, LDAP bind-пароли — на новый ключ, с бэкапом и автоматическим откатом. Ротация, которой в самом Gitea нет до сих пор (go-gitea/gitea#16832).
  • Предохранитель: простой `secrets rotate SECRET_KEY` теперь жёстко останавливается до любых изменений, вместо того чтобы молча осиротить зашифрованные данные, а `--dry-run` заранее показывает, что именно затронет миграция.
  • `doctor` теперь предупреждает о пустом `SECRET_KEY` — Gitea в этом случае шифрует публичным ключом, зашитым в её собственные исходники, то есть данные фактически не защищены.
v1.1.2 2026-07-08
  • Исправлено: health-check'и работают на инстансах «только по логину» (`REQUIRE_SIGNIN_VIEW`) — liveness теперь через неаутентифицированный `/api/healthz`.
v1.1.1 2026-07-08
  • Исправлено: health-check'и на установках со встроенным Let's Encrypt больше не дают ложный отказ — `secrets rotate`, `config apply` и обновления на месте снова работают на ACME-хостах.
v1.1.0 2026-07-08
  • Наведите `gitea install` на хост с уже работающей Gitea — и это будет обновление на месте: живые пути определяются сами, данные не переносятся, рукописный юнит сохраняется байт-в-байт.
  • `gtcnsl gitea adopt` берёт ручную установку под управление, не перенося никакие данные: секреты — из `app.ini` в `secrets.ini`, права — потуже, плюс шаблон для декларативного цикла.
  • Профили сервинга при установке: HTTP за прокси (по умолчанию), прямой HTTPS со встроенным Let's Encrypt или ваш собственный сертификат.
  • `gtcnsl gitea enable-https` переключает живую HTTP-установку на HTTPS — и автоматически откатывается к рабочему конфигу, если что-то пошло не так.
  • Doctor теперь ловит классическую бомбу замедленного действия: конфиг https на :443, чей юнит на самом деле не может забиндить порт.
v1.0.0 2026-07-02
  • Первый стабильный релиз — CLI и структура на диске теперь под гарантией совместимости по SemVer (COMPATIBILITY.md).
  • `gtcnsl backup` / `restore` — снимок установки Gitea и откат безопасным самооткатывающимся потоком.
  • Исполнитель раннера `dind-rootless` — раннер в rootless-контейнере, без бинаря на хосте.
  • Самообновление подписывающего ключа: верификация загрузок работает при ежегодном продлении ключа Gitea.
  • Исправлено: обновление на месте `gitea install --to` теперь перезапускается на новый бинарь.
v0.6.3 2026-05-30
  • Надёжное зеркалирование релизов на download-хост
v0.6.1 2026-05-30
  • Исправлен шаг зеркалирования релиза на download-хост