mancala/apps/postgres/init/01-databases.sh
Halit Aksoy 29fa443b93 build: add shared Postgres and Valkey to compose
- postgres replaces keycloak-db and holds a keycloak and a mancala database,
  each with its own user, created by apps/postgres/init
- valkey with an append-only file for live game state and caches
- backend gets DATABASE_URL and VALKEY_URL
2026-10-16 00:05:21 +03:00

16 lines
650 B
Bash
Executable File

#!/bin/bash
# Runs once, when the Postgres data directory is created: one database and user each for Keycloak and the game.
set -euo pipefail
: "${KEYCLOAK_DB_PASSWORD:?KEYCLOAK_DB_PASSWORD is not set}"
: "${MANCALA_DB_PASSWORD:?MANCALA_DB_PASSWORD is not set}"
psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" \
-v keycloak_password="$KEYCLOAK_DB_PASSWORD" \
-v mancala_password="$MANCALA_DB_PASSWORD" <<'EOSQL'
CREATE ROLE keycloak LOGIN PASSWORD :'keycloak_password';
CREATE DATABASE keycloak OWNER keycloak;
CREATE ROLE mancala LOGIN PASSWORD :'mancala_password';
CREATE DATABASE mancala OWNER mancala;
EOSQL