# Multi-stage build for the openbaar portal (Angular → nginx). # Build context is the repo root (the app needs the pnpm workspace + libs). See infra/docker-compose.yml. FROM node:24-slim AS build WORKDIR /src RUN corepack enable && corepack prepare pnpm@11.5.2 --activate # Restore first (cached unless the manifests change). COPY package.json pnpm-lock.yaml pnpm-workspace.yaml nx.json tsconfig.base.json eslint.config.mjs ./ RUN pnpm install --frozen-lockfile # Sources (only what the app + its libs need). COPY apps/openbaar apps/openbaar COPY libs libs RUN pnpm nx build openbaar FROM nginx:1.27-alpine AS runtime COPY apps/openbaar/nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /src/dist/apps/openbaar/browser /usr/share/nginx/html # No runtime config: the openbaar register is anonymous (no OIDC authority to inject). EXPOSE 80