# === Étape 1 : Build SSR Angular (avec Node 14) === FROM node:14-alpine AS builder WORKDIR /app # Installer les dépendances backend COPY package*.json ./ RUN npm install # Copier le projet complet (backend + angular-client) COPY . . # Build Angular SSR dans angular-client WORKDIR /app/angular-client RUN npm install RUN npm run build:ssr # === Étape 2 : Runner final avec Node 14 === FROM node:14-alpine AS runner WORKDIR /app ENV NODE_ENV=production ENV PORT=4000 # Copier le serveur Express COPY --from=builder /app/index.js ./index.js COPY --from=builder /app/package*.json ./ COPY --from=builder /app/routes ./routes COPY --from=builder /app/lib ./lib # Copier la build Angular SSR COPY --from=builder /app/angular-client/dist ./dist # Installer les dépendances nécessaires au runtime RUN npm install --omit=dev EXPOSE 4000 CMD ["node", "index.js"]