# --- 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) --- FROM caddy:2-alpine AS runtime # Eigene Caddy-Config statt der Default-Welcome-Seite: SPA aus /srv ausliefern. COPY apps/web/Caddyfile /etc/caddy/Caddyfile COPY --from=builder /repo/apps/web/dist /srv