Dockerfile 876 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. # Étape 1 : Build
  2. FROM node:20-alpine AS builder
  3. # Définition du répertoire de travail
  4. WORKDIR /app
  5. # Copie des fichiers package.json et package-lock.json
  6. COPY package.json package-lock.json ./
  7. # Installation des dépendances
  8. RUN npm ci
  9. # Copie du code source
  10. COPY . .
  11. # Build de l'application
  12. ARG VITE_API_URL
  13. ENV VITE_API_URL=${VITE_API_URL}
  14. RUN npm run build
  15. # Étape 2 : Serveur Nginx pour la production et la préproduction
  16. FROM nginx:alpine AS runner
  17. # Suppression du fichier de configuration par défaut de Nginx
  18. RUN rm -rf /etc/nginx/conf.d/default.conf
  19. # Copie de la configuration Nginx pour servir l’application
  20. COPY nginx.conf /etc/nginx/conf.d/default.conf
  21. # Copie des fichiers de build de l'application
  22. COPY --from=builder /app/dist /usr/share/nginx/html
  23. # Exposition du port
  24. EXPOSE 80
  25. # Commande de démarrage
  26. CMD ["nginx", "-g", "daemon off;"]