Commit Graph

4 Commits

Author SHA1 Message Date
nineap d1bb4661d1 Fix: образ netrunner-proxy падал в рестарт-луп — GLIBC_2.38 not found
Build & Push Proxy Image / build (push) Successful in 4m51s
Dockerfile просто копировал бинарник, собранный ОТДЕЛЬНЫМ шагом прямо на
CI-раннере (ubuntu-24.04, glibc 2.39), в рантайм-образ debian:bookworm-slim
(glibc 2.36) — любой запуск падал: "GLIBC_2.38 not found". Затронуто
абсолютно любое развёртывание этого образа, не конкретная нода.

Теперь Dockerfile компилирует Rust ВНУТРИ себя, на том же bookworm, что и
рантайм (multi-stage + cargo-chef, тот же паттерн, что в
netrunner-backend/Dockerfile) — версии glibc гарантированно совпадают
независимо от ОС раннера. build.yml больше не собирает бинарник отдельным
шагом, только docker build; добавлен registry-кэш слоёв (type=gha требует
GitHub Actions Cache, у self-hosted act_runner его нет — см. аналогичный
фикс в netrunner-backend этой сессии).

Проверено локально: docker build проходит чисто, ./netrunner-proxy --help
запускается без ошибок glibc (до фикса — падал сразу).
2026-07-11 04:15:16 +07:00
nineap 4767730119 Переименовать GITEA_REGISTRY_TOKEN → GT_REGISTRY_TOKEN (правила именования Gitea не пускают префикс GITEA_)
Build & Push Proxy Image / build (push) Successful in 13m7s
2026-07-10 21:28:25 +07:00
nineap 521d77f0cc Переезд с ghcr.io на встроенный Container Registry Gitea
Build & Push Proxy Image / build (push) Failing after 7m45s
Каждая нода теперь логинится и тянет образ с gitea.netrunner-vpn.com
напрямую (secrets.GITEA_REGISTRY_TOKEN, тот же, что и в build.yml).
2026-07-10 20:44:14 +07:00
nineap c835ac983a Gitea Actions: сборка образа + деплой на список прокси-нод
- .gitea/workflows/build.yml — cargo build --release + docker build/push в
  ghcr.io/nineap/netrunner-proxy:latest (Dockerfile сам не компилирует Rust,
  ждёт уже готовый target/release/netrunner-server).
- .gitea/workflows/deploy.yml — только вручную (workflow_dispatch), параметр
  target: имя ноды из nodes.json или "all". Job "resolve" фильтрует список,
  job "deploy" — matrix по результату, каждая нода видна в прогоне отдельной
  строкой. Деплой пересоздаёт контейнер (pull+rm+run), не просто restart —
  иначе новый образ не подхватится.
- nodes.json — список нод (name/host/proxy_port/decoy_host), шаблон с
  CHANGE_ME — заполнить реальными IP.

Нужные секреты: GHCR_TOKEN (тот же, что и в остальных репо), PROXY_NODES_SSH_KEY
(общий master-ключ на все ноды), PROXY_INTERNAL_SECRET, BACKEND_URL (те же
значения, что уже настроены у бэкенда).
2026-07-09 15:27:18 +07:00