From 3b8c0aeebd94fd49e6dca1f45a04bdd29e261ae8 Mon Sep 17 00:00:00 2001 From: nineap Date: Thu, 9 Jul 2026 16:37:48 +0700 Subject: [PATCH] =?UTF-8?q?CI:=20=D0=BF=D0=B5=D1=80=D0=B5=D0=B8=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BE=D0=B2=D1=8B=D0=B2=D0=B0=D0=B5=D1=82=20DB=5F*?= =?UTF-8?q?=E2=86=92VW=5FDB=5F*=20=D0=B8=20=D0=BF=D0=B5=D1=80=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=D1=81=D0=B8=D1=82=20=D0=BD=D0=B5=D1=81=D0=B5=D0=BA=D1=80?= =?UTF-8?q?=D0=B5=D1=82=D0=BD=D1=8B=D0=B5=20=D0=B7=D0=BD=D0=B0=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D0=B2=20vars?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DATA_VPS_IP, имя/юзер БД, домен/лог-левел/SIGNUPS_ALLOWED/SMTP-хост-порт- security-username Vaultwarden — в vars (не секреты сами по себе). Пароли (VW_DB_PASSWORD, SMTP_PASSWORD), ADMIN_TOKEN и SSH-ключ остаются в secrets. Co-Authored-By: Claude Sonnet 5 --- .gitea/workflows/deploy.yml | 49 +++++++++++++++++++++--------------- .github/workflows/deploy.yml | 49 +++++++++++++++++++++--------------- 2 files changed, 58 insertions(+), 40 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 1c81711..ab0eaf1 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,8 +1,17 @@ name: Deploy -# Один VPS, без сборки образов (postgres/vaultwarden — публичные образы, не наши). -# Все значения — только из GitHub Actions secrets, .env на сервере пересобирается -# с нуля на каждом деплое (ничего не хранится в репозитории). +# ВАЖНО: DATA_VPS_IP/DATA_SSH_PRIVATE_KEY должны указывать на ТОТ ЖЕ VPS, что +# и прод netrunner-backend (тот же процесс Postgres, сеть netrunner_grid — +# см. docker-compose.yml). Деплой backend'а должен быть выполнен на этом VPS +# РАНЬШЕ первого запуска этого workflow — иначе `docker compose up` здесь +# упадёт с "network netrunner_grid not found". +# +# Без сборки образов (postgres/vaultwarden — публичные образы, не наши). +# Несекретные значения (DATA_VPS_IP, имя/юзер БД, домен/лог-левел/SMTP-хост-порт +# Vaultwarden) — repo Variables (vars.*), не Actions secrets: видны так же, как +# сам код, просто не маскируются в логах. Настоящие секреты (пароли/токены/ +# приватный ключ) — только secrets.*. .env на сервере пересобирается с нуля на +# каждом деплое (ничего не хранится в репозитории). on: push: branches: [main] @@ -18,7 +27,7 @@ jobs: - name: Sync compose file to VPS uses: appleboy/scp-action@v0.1.7 with: - host: ${{ secrets.DATA_VPS_IP }} + host: ${{ vars.DATA_VPS_IP }} username: root key: ${{ secrets.DATA_SSH_PRIVATE_KEY }} source: "docker-compose.yml" @@ -28,19 +37,19 @@ jobs: - name: Write .env and deploy via SSH uses: appleboy/ssh-action@v1 with: - host: ${{ secrets.DATA_VPS_IP }} + host: ${{ vars.DATA_VPS_IP }} username: root key: ${{ secrets.DATA_SSH_PRIVATE_KEY }} - envs: "DB_USER,DB_PASSWORD,DB_NAME,VAULTWARDEN_DOMAIN,VAULTWARDEN_SIGNUPS_ALLOWED,VAULTWARDEN_ADMIN_TOKEN,VAULTWARDEN_LOG_LEVEL,SMTP_HOST,SMTP_FROM,SMTP_PORT,SMTP_SECURITY,SMTP_USERNAME,SMTP_PASSWORD" + envs: "VW_DB_USER,VW_DB_PASSWORD,VW_DB_NAME,VAULTWARDEN_DOMAIN,VAULTWARDEN_SIGNUPS_ALLOWED,VAULTWARDEN_ADMIN_TOKEN,VAULTWARDEN_LOG_LEVEL,SMTP_HOST,SMTP_FROM,SMTP_PORT,SMTP_SECURITY,SMTP_USERNAME,SMTP_PASSWORD" script: | set -e cd /root/netrunner-data mkdir -p data cat > .env < .env <