# Frontend in twee fases: # 1) Node bouwt de React-app tot statische bestanden (Node 22: Vite 8 eist # ^20.19 of >=22.12, en de CI bouwt ook op 22 — zelfde versie overal). # 2) Nginx serveert die bestanden en proxyt /api en /admin naar de backend. # --- Fase 1: build -------------------------------------------------------- FROM node:22-alpine AS build WORKDIR /app COPY package*.json ./ # npm ci (reproduceerbaar) zodra er een package-lock.json in git staat; # genereer die eenmalig lokaal met `npm install` en commit hem. RUN if [ -f package-lock.json ]; then npm ci; else npm install; fi COPY . . RUN npm run build # --- Fase 2: nginx -------------------------------------------------------- FROM nginx:1.27-alpine COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=build /app/dist /usr/share/nginx/html EXPOSE 80