Dockerfile 882 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # Étape 1 : Build Angular SSR (client + serveur)
  2. FROM node:14-alpine AS builder
  3. WORKDIR /app
  4. # Installer les deps Angular
  5. COPY angular-client/package*.json ./angular-client/
  6. WORKDIR /app/angular-client
  7. RUN npm install
  8. COPY angular-client/ ./
  9. RUN npm run build:ssr
  10. # Étape 2 : Image finale
  11. FROM node:14-alpine
  12. WORKDIR /app
  13. ENV NODE_ENV=production
  14. ENV PORT=4000
  15. # Copier l'Express app
  16. COPY express-server/index.js ./index.js
  17. COPY express-server/logging.js ./logging.js
  18. COPY express-server/package*.json ./
  19. COPY express-server/routes ./routes
  20. COPY express-server/lib ./lib
  21. COPY express-server/models ./models
  22. COPY express-server/controllers ./controllers
  23. COPY express-server/middleware ./middleware
  24. # Copier la build SSR complète
  25. COPY --from=builder /app/angular-client/dist ./dist
  26. # Installer deps runtime
  27. RUN npm install --omit=dev
  28. EXPOSE 4000
  29. CMD ["node", "index.js"]