cacode commited on
Commit
922680e
·
verified ·
1 Parent(s): 90976d4

Upload 2 files

Browse files
Files changed (2) hide show
  1. Dockerfile +2 -0
  2. hf-entrypoint.sh +23 -0
Dockerfile CHANGED
@@ -10,6 +10,7 @@ RUN set -eux; \
10
  ca-certificates \
11
  netcat-openbsd \
12
  redis \
 
13
  su-exec; \
14
  elif command -v apt-get >/dev/null 2>&1; then \
15
  apt-get update && apt-get install -y --no-install-recommends \
@@ -17,6 +18,7 @@ RUN set -eux; \
17
  ca-certificates \
18
  netcat-openbsd \
19
  redis-server \
 
20
  gosu \
21
  && rm -rf /var/lib/apt/lists/*; \
22
  else \
 
10
  ca-certificates \
11
  netcat-openbsd \
12
  redis \
13
+ postgresql15-client \
14
  su-exec; \
15
  elif command -v apt-get >/dev/null 2>&1; then \
16
  apt-get update && apt-get install -y --no-install-recommends \
 
18
  ca-certificates \
19
  netcat-openbsd \
20
  redis-server \
21
+ postgresql-client \
22
  gosu \
23
  && rm -rf /var/lib/apt/lists/*; \
24
  else \
hf-entrypoint.sh CHANGED
@@ -32,6 +32,29 @@ else
32
  export DATABASE_PASSWORD="${SQL_PASSWORD}"
33
  fi
34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  DATABASE_QUERY="sslmode=${DATABASE_SSLMODE}&sslrootcert=${DATABASE_SSLROOTCERT}"
36
  if [ -n "${DATABASE_QUERY_EXTRA:-}" ]; then
37
  DATABASE_QUERY="${DATABASE_QUERY}&${DATABASE_QUERY_EXTRA}"
 
32
  export DATABASE_PASSWORD="${SQL_PASSWORD}"
33
  fi
34
 
35
+ if command -v psql >/dev/null 2>&1; then
36
+ export PGHOST="${DATABASE_HOST}"
37
+ export PGPORT="${DATABASE_PORT}"
38
+ export PGUSER="${DATABASE_USER}"
39
+ export PGPASSWORD="${DATABASE_PASSWORD}"
40
+ export PGSSLMODE="${DATABASE_SSLMODE}"
41
+ export PGSSLROOTCERT="${DATABASE_SSLROOTCERT}"
42
+
43
+ if ! psql "dbname=postgres" -tAc "SELECT 1" >/dev/null 2>&1; then
44
+ echo "[boot] 'postgres' database missing or inaccessible, trying to create it..."
45
+ EXISTS_IN_TARGET=$(psql "dbname=${DATABASE_DBNAME}" -tAc "SELECT 1 FROM pg_database WHERE datname='postgres'" 2>/dev/null || true)
46
+ if [ "${EXISTS_IN_TARGET}" != "1" ]; then
47
+ if psql "dbname=${DATABASE_DBNAME}" -v ON_ERROR_STOP=1 -c "CREATE DATABASE postgres" >/dev/null 2>&1; then
48
+ echo "[boot] created database: postgres"
49
+ else
50
+ echo "[warn] failed to create database 'postgres'. Auto setup may fail if upstream still requires dbname=postgres."
51
+ fi
52
+ else
53
+ echo "[boot] database 'postgres' already exists"
54
+ fi
55
+ fi
56
+ fi
57
+
58
  DATABASE_QUERY="sslmode=${DATABASE_SSLMODE}&sslrootcert=${DATABASE_SSLROOTCERT}"
59
  if [ -n "${DATABASE_QUERY_EXTRA:-}" ]; then
60
  DATABASE_QUERY="${DATABASE_QUERY}&${DATABASE_QUERY_EXTRA}"