FROM node:20-alpine AS base WORKDIR /app COPY package.json package-lock.json* turbo.json ./ COPY apps/web/package.json ./apps/web/ COPY packages/shared/package.json ./packages/shared/ RUN npm ci COPY packages/shared/ ./packages/shared/ COPY apps/web/ ./apps/web/ WORKDIR /app/apps/web RUN npm run build FROM node:20-alpine AS production WORKDIR /app COPY --from=base /app/package.json ./ COPY --from=base /app/node_modules ./node_modules COPY --from=base /app/packages ./packages COPY --from=base /app/apps/web/.next ./apps/web/.next COPY --from=base /app/apps/web/package.json ./apps/web/ COPY --from=base /app/apps/web/next.config.ts ./apps/web/ WORKDIR /app/apps/web EXPOSE 3000 CMD ["npm", "start"]