Dockerfile 991 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # === Étape 1 : Build SSR Angular (avec Node 14) ===
  2. FROM node:14-alpine AS builder
  3. WORKDIR /app
  4. # Installer les dépendances backend
  5. COPY package*.json ./
  6. RUN npm install
  7. # Copier tout le projet
  8. COPY . .
  9. # Installer les dépendances frontend et builder SSR
  10. WORKDIR /app/angular-client
  11. RUN npm install
  12. RUN npm run build:ssr
  13. # === Étape 2 : Runner final avec Node 14 ===
  14. FROM node:14-alpine AS runner
  15. WORKDIR /app
  16. ENV NODE_ENV=production
  17. ENV PORT=4000
  18. # Copier les fichiers du serveur Express
  19. COPY --from=builder /app/express-server/index.js ./index.js
  20. COPY --from=builder /app/express-server/package*.json ./
  21. COPY --from=builder /app/express-server/routes ./routes
  22. COPY --from=builder /app/express-server/lib ./lib
  23. COPY --from=builder /app/express-server/logging.js ./logging.js
  24. # Copier la build Angular SSR
  25. COPY --from=builder /app/angular-client/dist ./dist
  26. # Installer les dépendances nécessaires au runtime
  27. RUN npm install --omit=dev
  28. EXPOSE 4000
  29. CMD ["node", "index.js"]