Update 20-internal-db-bootstrap.sh

This commit is contained in:
Alexandre
2025-07-16 10:55:18 +02:00
committed by GitHub
parent 8b04880852
commit dd24af7200

View File

@@ -1,36 +1,3 @@
#!/usr/bin/with-contenv bashio
set -euo pipefail
if bashio::config.true 'USE_EXTERNAL_DB'; then
bashio::log.info "External DB in use; skipping internal Postgres bootstrap."
exit 0
fi
bashio::log.info "Bootstrapping internal Postgres cluster…"
DB_USER="$(bashio::config 'DB_USERNAME')"
DB_PASS="$(bashio::config 'DB_PASSWORD')"
DB_NAME="$(bashio::config 'DB_DATABASE_NAME')"
# Wait for postgres service (localhost)
until pg_isready -q -h localhost -p 5432 -U postgres; do
bashio::log.info "Waiting for Postgres to accept connections…"
sleep 1
bashio::log.info "Creating role + database if needed…"
su - postgres -c psql <<SQL
DO \$\$
BEGIN
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${DB_USER}') THEN
CREATE ROLE ${DB_USER} LOGIN PASSWORD '${DB_PASS}';
END IF;
IF NOT EXISTS (SELECT FROM pg_database WHERE datname = '${DB_NAME}') THEN
CREATE DATABASE ${DB_NAME} OWNER ${DB_USER};
END IF;
END
\$\$;
SQL
bashio::log.info "Internal Postgres ready."
done
exit 0