From ba0af62d17debab922c069581f77ae1150b2e96a Mon Sep 17 00:00:00 2001 From: hailin Date: Fri, 16 May 2025 20:24:45 +0800 Subject: [PATCH] . --- Dockerfile | 2 +- supervisord.conf | 4 ++-- wrapper.sh | 14 ++++++++++++++ 3 files changed, 17 insertions(+), 3 deletions(-) create mode 100644 wrapper.sh diff --git a/Dockerfile b/Dockerfile index 9170628..1473a9a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -321,7 +321,7 @@ RUN chmod +x /usr/local/bin/docker-entrypoint.sh RUN mkdir -p /var/run/postgresql && chown postgres:postgres /var/run/postgresql COPY supervisord.conf ./etc/ - +COPY wrapper.sh /supabase/postgres/ #ENTRYPOINT ["docker-entrypoint.sh"] diff --git a/supervisord.conf b/supervisord.conf index a6fe2bc..bca88f7 100644 --- a/supervisord.conf +++ b/supervisord.conf @@ -12,7 +12,7 @@ chmod=0700 serverurl=unix:///var/run/supervisor.sock [program:postgres] -command=/bin/bash -c "exec /usr/local/bin/docker-entrypoint.sh postgres -D '/var/lib/postgresql/data'" +command=/bin/bash /supabase/postgres/wrapper.sh user=root autorestart=true startsecs=5 @@ -24,7 +24,7 @@ environment= POSTGRES_DB="postgres", PGDATA="/var/lib/postgresql/data" - + # [program:kong] # command=/supabase/kong/docker-entrypoint.sh kong docker-start # autorestart=true diff --git a/wrapper.sh b/wrapper.sh new file mode 100644 index 0000000..94e1e6d --- /dev/null +++ b/wrapper.sh @@ -0,0 +1,14 @@ +#!/bin/bash +set -e + +# 显式导出 supervisord 注入的环境变量(保险起见) +export POSTGRES_USER="${POSTGRES_USER:-postgres}" +export POSTGRES_PASSWORD="${POSTGRES_PASSWORD:-}" +export POSTGRES_DB="${POSTGRES_DB:-$POSTGRES_USER}" +export PGDATA="${PGDATA:-/var/lib/postgresql/data}" + +# 清除旧的 pid 文件(如果存在) +rm -f "$PGDATA/postmaster.pid" + +# 执行原始 entrypoint(注意 exec,防止 wrapper.sh 占用 PID 1) +exec /usr/local/bin/docker-entrypoint.sh postgres -D "$PGDATA"