# --- builder --- FROM node:22-alpine AS builder WORKDIR /repo RUN corepack enable && corepack prepare pnpm@10.28.0 --activate COPY pnpm-workspace.yaml package.json pnpm-lock.yaml tsconfig.base.json ./ COPY apps/web/package.json ./apps/web/ COPY apps/api/package.json ./apps/api/ COPY packages/db/package.json ./packages/db/ COPY packages/shared/package.json ./packages/shared/ RUN pnpm install --frozen-lockfile COPY apps/web ./apps/web COPY apps/api ./apps/api COPY packages/db ./packages/db COPY packages/shared ./packages/shared RUN pnpm --filter web build # --- runtime (static via Caddy in production compose) --- FROM caddy:2-alpine AS runtime COPY --from=builder /repo/apps/web/dist /srv