cacode commited on
Commit
4cdf901
·
verified ·
1 Parent(s): 9f11f19

Update hf-entrypoint.sh

Browse files
Files changed (1) hide show
  1. 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
- run_as_postgres pg_ctl -D "${PGDATA}" -o "-c listen_addresses=127.0.0.1 -c port=5432" -w start
 
 
 
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