# syntax=docker/dockerfile:1 FROM node:22.22.3-alpine AS base RUN corepack enable && corepack prepare pnpm@latest --activate # ── deps ────────────────────────────────────────────────────────────────────── FROM base AS deps WORKDIR /app COPY package.json pnpm-workspace.yaml pnpm-lock.yaml ./ COPY webclient/package.json ./webclient/ RUN pnpm install --frozen-lockfile --filter webclient... # ── build ───────────────────────────────────────────────────────────────────── FROM deps AS builder WORKDIR /app COPY webclient ./webclient RUN pnpm --filter webclient build # ── runtime ─────────────────────────────────────────────────────────────────── FROM node:22.22.3-alpine AS runner WORKDIR /app RUN npm install -g serve COPY --from=builder /app/webclient/dist ./dist EXPOSE 5000 CMD ["serve", "-s", "dist", "-l", "5000"]