kenken999 commited on
Commit
eeaffee
·
1 Parent(s): fec67ac

fix: move admin panel build to runtime (entrypoint) so HF Secrets are available during build

Browse files
Files changed (2) hide show
  1. Dockerfile +0 -8
  2. docker-entrypoint.sh +9 -0
Dockerfile CHANGED
@@ -31,14 +31,6 @@ ENV HOST=0.0.0.0
31
  ENV PORT=7860
32
  ENV NODE_ENV=production
33
 
34
- # 管理画面をビルド(ビルド時はダミー値でOK、実行時にHF Secretsで上書き)
35
- RUN APP_KEYS=build1,build2,build3,build4 \
36
- JWT_SECRET=build-jwt-placeholder \
37
- ADMIN_JWT_SECRET=build-admin-jwt-placeholder \
38
- API_TOKEN_SALT=build-token-salt \
39
- NODE_ENV=production \
40
- npm run build
41
-
42
  EXPOSE 7860
43
 
44
  ENTRYPOINT ["/docker-entrypoint.sh"]
 
31
  ENV PORT=7860
32
  ENV NODE_ENV=production
33
 
 
 
 
 
 
 
 
 
34
  EXPOSE 7860
35
 
36
  ENTRYPOINT ["/docker-entrypoint.sh"]
docker-entrypoint.sh CHANGED
@@ -7,5 +7,14 @@ DB_URL="postgresql://$DATABASE_USERNAME@$DATABASE_HOST:$DATABASE_PORT/$DATABASE_
7
  echo "=== Ensuring strapi schema exists ==="
8
  psql "$DB_URL" -c "CREATE SCHEMA IF NOT EXISTS strapi;" 2>/dev/null && echo "Schema ready"
9
 
 
 
 
 
 
 
 
 
 
10
  echo "=== Starting Strapi ==="
11
  exec /srv/app/node_modules/.bin/strapi start
 
7
  echo "=== Ensuring strapi schema exists ==="
8
  psql "$DB_URL" -c "CREATE SCHEMA IF NOT EXISTS strapi;" 2>/dev/null && echo "Schema ready"
9
 
10
+ # 管理画面を初回のみビルド(起動時に実行 = シークレットが使える)
11
+ if [ ! -f "/srv/app/build/index.html" ]; then
12
+ echo "=== Building Strapi admin panel (first run) ==="
13
+ cd /srv/app && NODE_ENV=production npm run build
14
+ echo "=== Admin panel build done ==="
15
+ else
16
+ echo "=== Admin panel already built, skipping ==="
17
+ fi
18
+
19
  echo "=== Starting Strapi ==="
20
  exec /srv/app/node_modules/.bin/strapi start