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/apps/web COPY --from=base /app/apps/web/.next ./.next COPY --from=base /app/apps/web/public ./public COPY --from=base /app/apps/web/package.json ./ COPY --from=base /app/apps/web/node_modules ./node_modules COPY --from=base /app/node_modules /app/node_modules COPY --from=base /app/packages /app/packages EXPOSE 3000 CMD ["npm", "start"]