fix: replace fragile printf start.sh with COPY start.sh
The RUN printf approach had a POSIX printf bug where \\c stopped output, truncating the startup script. Now start.sh is a proper file COPYed into the image.
This commit is contained in:
+2
-4
@@ -37,10 +37,8 @@ RUN mkdir -p /app/data && chown nextjs:nodejs /app/data
|
||||
RUN chown -R nextjs:nodejs /app/node_modules/@prisma /app/node_modules/prisma /app/node_modules/.prisma /app/prisma 2>/dev/null || true
|
||||
|
||||
# Startup script — migrate volumes DB then launch server
|
||||
RUN printf '#!/bin/sh\n\
|
||||
cd /app\n\
|
||||
node ./node_modules/prisma/build/index.js db push --skip-generate --accept-data-loss 2>&1\n\
|
||||
# Force 0.0.0.0 binding (Docker sets HOSTNAME to container ID)\nexport HOSTNAME=0.0.0.0\nexec node server.js\n' > /app/start.sh && chmod +x /app/start.sh
|
||||
COPY start.sh /app/start.sh
|
||||
RUN chmod +x /app/start.sh
|
||||
|
||||
# ── Docker HEALTHCHECK ──────────────────────────────────────────
|
||||
# Auto-restarts container if health endpoint fails 3 times (30s interval, 10s timeout)
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
# Falah Mobile — container startup script
|
||||
cd /app
|
||||
# Run Prisma migrations against the volume-mounted DB
|
||||
node ./node_modules/prisma/build/index.js db push --skip-generate --accept-data-loss 2>&1
|
||||
# Force 0.0.0.0 binding (Docker sets HOSTNAME to container ID)
|
||||
export HOSTNAME=0.0.0.0
|
||||
exec node server.js
|
||||
Reference in New Issue
Block a user