9ca6df3dfc
Раньше предполагалось, что 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>
13 lines
814 B
Bash
Executable File
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
|