# Image für den Dienst `pdf`. Playwright-Basis mit vorinstalliertem Chromium, # rendert die Druckansicht der Akte. Nur im Stack-Netz erreichbar. ARG PLAYWRIGHT_VERSION=v1.62.1-noble ARG PNPM_VERSION=9.15.4 FROM mcr.microsoft.com/playwright:${PLAYWRIGHT_VERSION} AS build ARG PNPM_VERSION RUN npm install -g pnpm@${PNPM_VERSION} WORKDIR /repo COPY pnpm-workspace.yaml package.json pnpm-lock.yaml .npmrc tsconfig.base.json ./ COPY packages/db/package.json packages/db/ COPY web/package.json web/ COPY worker/package.json worker/ COPY pdf/package.json pdf/ RUN pnpm install --frozen-lockfile --filter @afis/pdf... COPY pdf/ pdf/ RUN pnpm --filter @afis/pdf build && \ pnpm --filter @afis/pdf --prod --no-optional deploy /bundle && \ cp -r pdf/dist /bundle/dist FROM mcr.microsoft.com/playwright:${PLAYWRIGHT_VERSION} AS runtime WORKDIR /app ENV NODE_ENV=production \ PORT=3000 COPY --from=build --chown=pwuser:pwuser /bundle ./ USER pwuser EXPOSE 3000 HEALTHCHECK --interval=60s --timeout=10s --start-period=30s --retries=3 \ CMD wget -qO- http://localhost:3000/health || exit 1 CMD ["node", "dist/index.js"]