# ── Stage 1: React bauen ───────────────────────────────────────────────────── FROM node:20-alpine AS builder WORKDIR /build COPY frontend/package.json ./ RUN npm install COPY frontend/ ./ RUN npm run build # ── Stage 2: Express liefert API + React in einem Container ────────────────── FROM node:20-alpine RUN apk add --no-cache tzdata python3 make g++ WORKDIR /app COPY backend/package.json ./ RUN npm install --production COPY backend/ ./ # version.txt bei jedem Build mit aktuellem Zeitstempel überschreiben # → /api/build-time liefert neuen Wert → Frontend erkennt neuen Build → Auto-Reload RUN date -u +"build-%Y%m%d-%H%M%S" > ./version.txt COPY --from=builder /build/dist ./public EXPOSE 4000 CMD ["node", "src/index.js"]