# --- Stage 1: Build --- FROM node:20-alpine AS builder WORKDIR /app COPY package.json package-lock.json* bun.lock* ./ RUN npm install COPY . . RUN npm run build # --- Stage 2: Runner --- FROM node:20-alpine AS runner WORKDIR /app ENV NODE_ENV=production ENV PORT=3000 COPY package.json package-lock.json* bun.lock* ./ COPY prisma ./prisma RUN npm install --omit=dev RUN npx prisma generate COPY --from=builder /app/dist ./dist EXPOSE 3000 CMD ["sh", "-c", "npx prisma db push && node dist/server.cjs"]