Files
netrunner-data/postgres/init-backend-db.sh
T
nineap 9ca6df3dfc 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>
2026-07-09 17:17:05 +07:00

13 lines
814 B
Bash
Executable File

#!/bin/sh
# Выполняется автоматически postgres-образом ОДИН РАЗ — только когда volume
# ещё пуст (первая инициализация кластера). POSTGRES_USER/POSTGRES_DB
# (заданные в environment сервиса db) создают только базу Vaultwarden — этот
# скрипт создаёт ВТОРУЮ базу+роль для netrunner-backend на этом же
# Postgres-процессе, раз он теперь общий на обоих потребителей.
set -e
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL
CREATE ROLE ${BACKEND_DB_USER} WITH LOGIN PASSWORD '${BACKEND_DB_PASSWORD}';
CREATE DATABASE ${BACKEND_DB_NAME} OWNER ${BACKEND_DB_USER};
EOSQL