FROM node:22-bookworm-slim AS builder WORKDIR /app COPY package*.json ./ RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi COPY . . RUN npm run build FROM node:22-bookworm-slim AS runner WORKDIR /app ENV NODE_ENV=production ENV PORT=3000 COPY package*.json ./ RUN if [ -f package-lock.json ]; then npm ci --omit=dev; else npm install --omit=dev; fi && npm cache clean --force COPY --from=builder /app/dist ./dist EXPOSE 3000 CMD ["npm", "run", "start:prod"]