From 005a7acbe2a0e836e9c588b90a8d90fcac00f38e Mon Sep 17 00:00:00 2001 From: Leivur Djurhuus Date: Tue, 7 Apr 2026 13:34:48 -0500 Subject: [PATCH] Fix Docker image: add prisma + dotenv to runner stage The standalone Next.js output doesn't include prisma (devDependency) or dotenv (only used by prisma.config.ts, not app runtime). Install them explicitly in the runner stage for prisma migrate deploy. Pin prisma@7.4.2 to avoid npx downloading a non-existent version. Co-Authored-By: Claude Opus 4.6 (1M context) --- Dockerfile | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4ff6620..364a6b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,10 +37,14 @@ COPY --from=builder /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static -# Copy Prisma schema and migrations for runtime +# Copy Prisma schema, config, and migrations for runtime COPY --from=builder /app/prisma ./prisma +COPY --from=builder /app/prisma.config.ts ./prisma.config.ts COPY --from=builder /app/src/generated ./src/generated +# Install prisma + dotenv for migrate deploy (prisma.config.ts imports dotenv/config) +RUN npm install --no-save prisma@7.4.2 dotenv@17.3.1 + # Create uploads directory for video/media storage (mounted as volume) RUN mkdir -p /data/uploads && chown nextjs:nodejs /data/uploads @@ -51,4 +55,4 @@ EXPOSE 3000 ENV PORT=3000 ENV HOSTNAME="0.0.0.0" -CMD ["sh", "-c", "npx prisma migrate deploy && node server.js"] +CMD ["sh", "-c", "./node_modules/.bin/prisma migrate deploy && node server.js"]