From 49b7ecd32d254a7a409366b7b1b500dbd8aad3d8 Mon Sep 17 00:00:00 2001 From: Julien Goux Date: Mon, 19 May 2025 16:00:30 +0200 Subject: [PATCH] wip --- docker/docker-compose.yml | 11 +++-------- docker/volumes/db/start.sh | 28 ++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 8 deletions(-) create mode 100755 docker/volumes/db/start.sh diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 5f0c9e04659..142209d6f4e 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -406,6 +406,8 @@ services: - ./volumes/db/pooler.sql:/docker-entrypoint-initdb.d/migrations/99-pooler.sql:Z # Use named volume to persist pgsodium decryption key between restarts - db-config:/etc/postgresql-custom + # Start script + - ./volumes/db/start.sh:/start.sh:Z healthcheck: test: [ @@ -432,14 +434,7 @@ services: POSTGRES_DB: ${POSTGRES_DB} JWT_SECRET: ${JWT_SECRET} JWT_EXP: ${JWT_EXPIRY} - command: - [ - "postgres", - "-c", - "config_file=/etc/postgresql/postgresql.conf", - "-c", - "log_min_messages=fatal" # prevents Realtime polling queries from appearing in logs - ] + command: ["/bin/sh", "-c", "/start.sh"] vector: container_name: supabase-vector diff --git a/docker/volumes/db/start.sh b/docker/volumes/db/start.sh new file mode 100755 index 00000000000..478a54ec843 --- /dev/null +++ b/docker/volumes/db/start.sh @@ -0,0 +1,28 @@ +#!/bin/bash +set -e + +echo "Starting PostgreSQL..." +# Start PostgreSQL as the postgres user +gosu postgres postgres -c config_file=/etc/postgresql/postgresql.conf -c log_min_messages=fatal & +PGPID=$! + +# Wait for PostgreSQL to be ready +echo "Waiting for PostgreSQL to be ready..." +until pg_isready; do + echo "PostgreSQL not ready yet..." + # Check if PostgreSQL is still running + if ! kill -0 $PGPID 2>/dev/null; then + echo "PostgreSQL process died! Check the logs above for errors." + exit 1 + fi + sleep 1 +done + +echo "PostgreSQL is ready!" + +echo "Updating passwords..." +# Update passwords using roles.sql +psql -v ON_ERROR_STOP=1 -f /docker-entrypoint-initdb.d/init-scripts/99-roles.sql + +# Wait for the PostgreSQL process +wait $PGPID \ No newline at end of file