FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ COPY prisma ./prisma/ COPY prisma.config.ts ./ RUN npm ci # Generate Prisma client before building RUN npx prisma generate COPY . . RUN npm run build # ─── PRODUCTION ─────────────────────────────────────────────────────────────── FROM node:20-alpine AS production WORKDIR /app COPY package*.json ./ COPY prisma ./prisma/ COPY prisma.config.ts ./ RUN npm ci --omit=dev && npm cache clean --force # Generate Prisma client in production stage too RUN npx prisma generate COPY --from=builder /app/dist ./dist RUN addgroup -g 1001 -S nodejs && adduser -S nestjs -u 1001 USER nestjs EXPOSE 3200 CMD ["sh", "-c", "npx prisma migrate deploy && node dist/src/main.js"]