- .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 (те же
значения, что уже настроены у бэкенда).