# --- Stage 1: Build --- FROM node:20 AS builder WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci COPY . . RUN npm run build # --- Stage 2: Production --- FROM node:20-slim AS production WORKDIR /app COPY --from=builder /app/.output ./.output EXPOSE 3000 CMD ["node", ".output/server/index.mjs"]