FROM node:20-alpine AS base WORKDIR /repo FROM base AS deps COPY package.json package-lock.json* ./ COPY apps/web/package.json apps/web/package.json RUN npm install --workspace=apps/web --no-audit --no-fund FROM deps AS build COPY apps/web apps/web RUN npm run build -w apps/web FROM node:20-alpine AS runtime WORKDIR /repo ENV NODE_ENV=production COPY --from=build /repo/node_modules node_modules COPY --from=build /repo/apps/web apps/web EXPOSE 3000 WORKDIR /repo/apps/web CMD ["npx", "next", "start"]