FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ COPY apps/api/package.json ./apps/api/package.json COPY apps/web/package.json ./apps/web/package.json RUN npm ci COPY . . RUN npm run build -w apps/web FROM node:20-alpine AS runner WORKDIR /app ENV NODE_ENV=production COPY package*.json ./ COPY apps/api/package.json ./apps/api/package.json COPY apps/web/package.json ./apps/web/package.json RUN npm ci --omit=dev COPY --from=builder /app/apps/web/.next ./apps/web/.next COPY --from=builder /app/apps/web/public ./apps/web/public COPY --from=builder /app/apps/web/next.config.ts ./apps/web/next.config.ts EXPOSE 3000 CMD ["npm", "run", "start", "-w", "apps/web", "--", "-H", "0.0.0.0", "-p", "3000"]