- 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
16 lines
650 B
Bash
Executable File
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
|