# Stage 1 — Install dependencies FROM node:20-alpine AS deps RUN corepack enable && corepack prepare pnpm@9.15.4 --activate WORKDIR /app COPY package.json pnpm-workspace.yaml pnpm-lock.yaml* .npmrc ./ COPY apps/web/package.json ./apps/web/ COPY apps/api/package.json ./apps/api/ COPY packages/shared/package.json ./packages/shared/ COPY packages/config/package.json ./packages/config/ RUN pnpm install --frozen-lockfile || pnpm install # Stage 2 — Build FROM deps AS build COPY . . RUN pnpm build # Stage 3 — Production image FROM nginx:alpine COPY --from=build /app/apps/web/dist /usr/share/nginx/html/ EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]