# === É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 tout le projet COPY . . # Installer les dépendances frontend et builder SSR 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 les fichiers du serveur Express COPY --from=builder /app/express-server/index.js ./index.js COPY --from=builder /app/express-server/package*.json ./ COPY --from=builder /app/express-server/routes ./routes COPY --from=builder /app/express-server/lib ./lib COPY --from=builder /app/express-server/logging.js ./logging.js # 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"]