Postgres переезжает сюда физически — backend теперь на отдельном VPS

Раньше предполагалось, что backend и БД живут на одном хосте и делят
Docker-сеть — на деле backend будет на отдельном, ещё не арендованном
VPS, а Postgres стоит здесь же, рядом с Vaultwarden. Возвращает свой
контейнер `db` (общий для обеих баз — vaultwarden создаётся через
POSTGRES_USER/POSTGRES_DB, вторая, для backend, через новый
postgres/init-backend-db.sh), публикует 5432 наружу с hostssl+TLS
(postgres/pg_hba.conf, самоподписанный сертификат генерируется один раз
прямо в deploy.yml). Backup-джоба (pg_dump обеих баз) тоже переехала
сюда из netrunner-backend — дампить логичнее там, где физически лежат
данные.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-09 17:17:05 +07:00
parent 3b8c0aeebd
commit 9ca6df3dfc
7 changed files with 263 additions and 55 deletions
+18 -3
View File
@@ -4,13 +4,19 @@
# Gitea Actions secrets прямо на VPS — локальный .env нужен только для
# ручного/dev-запуска.
# --- Postgres (общий контейнер netrunner-db из netrunner-backend, отдельная
# база+юзер внутри него — см. scripts/migrate-vaultwarden.md, шаг "CREATE
# DATABASE/CREATE USER") ---
# --- Postgres (свой контейнер `db` в этом compose — общий для Vaultwarden И
# netrunner-backend, см. шапку docker-compose.yml. Backend физически живёт на
# ДРУГОМ VPS и подключается сюда по сети через TLS, см. postgres/pg_hba.conf) ---
VW_DB_USER=vaultwarden
VW_DB_PASSWORD=CHANGE_ME_VW_DB_PASSWORD_openssl_rand_base64_24
VW_DB_NAME=vaultwarden
# Вторая база на этом же Postgres — под netrunner-backend (создаётся один раз
# при первой инициализации кластера через postgres/init-backend-db.sh).
BACKEND_DB_USER=netrunner_admin
BACKEND_DB_PASSWORD=CHANGE_ME_BACKEND_DB_PASSWORD_openssl_rand_base64_24
BACKEND_DB_NAME=netrunner
# --- Vaultwarden ---
VAULTWARDEN_DOMAIN=https://vault.netrunner-vpn.com
VAULTWARDEN_SIGNUPS_ALLOWED=false
@@ -26,3 +32,12 @@ SMTP_USERNAME=CHANGE_ME@gmail.com
# Пароль приложения Gmail (не обычный пароль аккаунта) — App Passwords в
# настройках безопасности Google-аккаунта, требует включённой 2FA.
SMTP_PASSWORD=CHANGE_ME_GMAIL_APP_PASSWORD
# --- Бэкапы Postgres (обе базы — Vaultwarden и netrunner-backend), см.
# scripts/backup.sh. Без RCLONE_REMOTE/RCLONE_CONFIG_CONTENT снимаются
# каждые BACKUP_INTERVAL_SEC и хранятся только локально в volume
# netrunner_db_backups на этом же VPS. ---
# BACKUP_INTERVAL_SEC=21600
# BACKUP_RETENTION_DAYS=14
# RCLONE_REMOTE=b2:netrunner-backups
# RCLONE_CONFIG_CONTENT содержимое rclone.conf одной переменной, см. rclone.conf.example