Spaces:
Running
Running
Update hf-entrypoint.sh
Browse files- hf-entrypoint.sh +9 -7
hf-entrypoint.sh
CHANGED
|
@@ -19,7 +19,7 @@ echo "[boot] start redis"
|
|
| 19 |
redis-server --bind 127.0.0.1 --port 6379 --daemonize yes
|
| 20 |
|
| 21 |
echo "[boot] init/start postgres"
|
| 22 |
-
mkdir -p "${PGDATA}"
|
| 23 |
if id postgres >/dev/null 2>&1; then
|
| 24 |
chown -R postgres:postgres "${PGDATA}" || true
|
| 25 |
fi
|
|
@@ -28,10 +28,13 @@ if [ ! -s "${PGDATA}/PG_VERSION" ]; then
|
|
| 28 |
run_as_postgres initdb -D "${PGDATA}" >/dev/null
|
| 29 |
fi
|
| 30 |
|
| 31 |
-
|
|
|
|
|
|
|
|
|
|
| 32 |
|
| 33 |
-
# 创建用户和库(幂等)
|
| 34 |
-
run_as_postgres psql -v ON_ERROR_STOP=1 --username postgres --dbname postgres <<SQL
|
| 35 |
DO \$\$
|
| 36 |
BEGIN
|
| 37 |
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${POSTGRES_USER}') THEN
|
|
@@ -43,7 +46,7 @@ END
|
|
| 43 |
\$\$;
|
| 44 |
SQL
|
| 45 |
|
| 46 |
-
run_as_postgres psql -v ON_ERROR_STOP=1 --username postgres --dbname postgres <<SQL
|
| 47 |
DO \$\$
|
| 48 |
BEGIN
|
| 49 |
IF NOT EXISTS (SELECT FROM pg_database WHERE datname = '${POSTGRES_DB}') THEN
|
|
@@ -56,7 +59,7 @@ SQL
|
|
| 56 |
export DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@127.0.0.1:5432/${POSTGRES_DB}"
|
| 57 |
export POSTGRES_URL="${DATABASE_URL}"
|
| 58 |
export DB_URL="${DATABASE_URL}"
|
| 59 |
-
export REDIS_URL="${REDIS_URL}"
|
| 60 |
export PORT="${PORT:-8080}"
|
| 61 |
export HOST="${HOST:-0.0.0.0}"
|
| 62 |
|
|
@@ -64,7 +67,6 @@ echo "[boot] DATABASE_URL=${DATABASE_URL}"
|
|
| 64 |
echo "[boot] REDIS_URL=${REDIS_URL}"
|
| 65 |
echo "[boot] APP_PORT=${PORT}"
|
| 66 |
|
| 67 |
-
# 优先执行镜像原始 CMD;如无则用 SUB2API_CMD
|
| 68 |
if [ "$#" -gt 0 ]; then
|
| 69 |
exec "$@"
|
| 70 |
fi
|
|
|
|
| 19 |
redis-server --bind 127.0.0.1 --port 6379 --daemonize yes
|
| 20 |
|
| 21 |
echo "[boot] init/start postgres"
|
| 22 |
+
mkdir -p "${PGDATA}" /tmp
|
| 23 |
if id postgres >/dev/null 2>&1; then
|
| 24 |
chown -R postgres:postgres "${PGDATA}" || true
|
| 25 |
fi
|
|
|
|
| 28 |
run_as_postgres initdb -D "${PGDATA}" >/dev/null
|
| 29 |
fi
|
| 30 |
|
| 31 |
+
# 关键:把 unix socket 放到 /tmp,避免 /run/postgresql 不存在导致启动失败
|
| 32 |
+
run_as_postgres pg_ctl -D "${PGDATA}" \
|
| 33 |
+
-o "-c listen_addresses=127.0.0.1 -c port=5432 -c unix_socket_directories=/tmp" \
|
| 34 |
+
-w start
|
| 35 |
|
| 36 |
+
# 创建用户和库(幂等)——强制走 TCP
|
| 37 |
+
run_as_postgres psql -h 127.0.0.1 -p 5432 -v ON_ERROR_STOP=1 --username postgres --dbname postgres <<SQL
|
| 38 |
DO \$\$
|
| 39 |
BEGIN
|
| 40 |
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = '${POSTGRES_USER}') THEN
|
|
|
|
| 46 |
\$\$;
|
| 47 |
SQL
|
| 48 |
|
| 49 |
+
run_as_postgres psql -h 127.0.0.1 -p 5432 -v ON_ERROR_STOP=1 --username postgres --dbname postgres <<SQL
|
| 50 |
DO \$\$
|
| 51 |
BEGIN
|
| 52 |
IF NOT EXISTS (SELECT FROM pg_database WHERE datname = '${POSTGRES_DB}') THEN
|
|
|
|
| 59 |
export DATABASE_URL="postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@127.0.0.1:5432/${POSTGRES_DB}"
|
| 60 |
export POSTGRES_URL="${DATABASE_URL}"
|
| 61 |
export DB_URL="${DATABASE_URL}"
|
| 62 |
+
export REDIS_URL="${REDIS_URL:-redis://127.0.0.1:6379/0}"
|
| 63 |
export PORT="${PORT:-8080}"
|
| 64 |
export HOST="${HOST:-0.0.0.0}"
|
| 65 |
|
|
|
|
| 67 |
echo "[boot] REDIS_URL=${REDIS_URL}"
|
| 68 |
echo "[boot] APP_PORT=${PORT}"
|
| 69 |
|
|
|
|
| 70 |
if [ "$#" -gt 0 ]; then
|
| 71 |
exec "$@"
|
| 72 |
fi
|