From e686a73b75992dc5d8d9be14b9ee2bc1f95565bd Mon Sep 17 00:00:00 2001 From: Matt Date: Fri, 30 Jan 2026 18:51:37 +0100 Subject: [PATCH] Fix: copy full node_modules into runner for prisma/seed support Cherry-picking individual prisma modules fails due to transitive deps (effect, @prisma/config, etc). Copy full node_modules instead. Co-Authored-By: Claude Opus 4.5 --- docker/Dockerfile | 19 +++++-------------- docker/docker-entrypoint.sh | 2 +- 2 files changed, 6 insertions(+), 15 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 885d8d1..9bcc483 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -41,28 +41,19 @@ RUN adduser --system --uid 1001 nextjs # Install runtime dependencies for migrations and seeding RUN apk add --no-cache libc6-compat -# Copy built files +# Copy built Next.js standalone output COPY --from=builder /app/public ./public COPY --from=builder /app/.next/standalone ./ COPY --from=builder /app/.next/static ./.next/static -COPY --from=builder /app/prisma ./prisma -COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma -COPY --from=builder /app/node_modules/@prisma ./node_modules/@prisma -COPY --from=builder /app/node_modules/prisma ./node_modules/prisma -# Copy seed dependencies (for manual seeding via docker exec) -COPY --from=builder /app/node_modules/bcryptjs ./node_modules/bcryptjs -COPY --from=builder /app/node_modules/papaparse ./node_modules/papaparse -COPY --from=builder /app/node_modules/tsx ./node_modules/tsx -COPY --from=builder /app/node_modules/esbuild ./node_modules/esbuild -COPY --from=builder /app/node_modules/@esbuild ./node_modules/@esbuild +# Copy full node_modules for prisma migrations and seeding +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/prisma ./prisma +COPY --from=builder /app/package.json ./package.json # Copy CSV data file for manual seeding COPY --from=builder /app/docs/candidatures_2026.csv ./docs/candidatures_2026.csv -# Copy package.json for npx/module resolution -COPY --from=builder /app/package.json ./package.json - # Copy entrypoint script COPY docker/docker-entrypoint.sh /app/docker-entrypoint.sh RUN chmod +x /app/docker-entrypoint.sh diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh index 2246dd6..c03dbe7 100644 --- a/docker/docker-entrypoint.sh +++ b/docker/docker-entrypoint.sh @@ -2,7 +2,7 @@ set -e echo "==> Running database migrations..." -node node_modules/prisma/build/index.js migrate deploy +npx prisma migrate deploy echo "==> Starting application..." exec node server.js