Dockerfile 1016 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. FROM node:18
  2. # Répertoire de travail
  3. WORKDIR /usr/src/app
  4. # 1. Installer les dépendances système nécessaires
  5. RUN apt-get update && \
  6. apt-get install -y build-essential python3 && \
  7. rm -rf /var/lib/apt/lists/*
  8. RUN rm -rf dist
  9. RUN rm -rf node_modules
  10. RUN rm -f package-lock.json
  11. # Copier les fichiers de dépendances
  12. COPY package*.json ./
  13. # Installer les dépendances
  14. RUN npm install --force
  15. RUN npm rebuild
  16. # Copier le reste du code (y compris src/)
  17. COPY . .
  18. # Vérifier l'installation des dépendances
  19. RUN npm list --depth=0
  20. # Regénérer Prisma si utilisé
  21. RUN npx prisma generate
  22. # Nettoyage éventuel (optionnel, à mettre *après* la copie du code)
  23. RUN npm cache clean --force
  24. # Build de l'application
  25. RUN npm run build
  26. # Nettoyer les outils de compilation (optionnel pour production)
  27. RUN apt-get purge -y build-essential python3 && \
  28. apt-get autoremove -y
  29. # Exposer le port utilisé
  30. EXPOSE 3001
  31. # Commande de démarrage
  32. CMD ["node", "dist/main.js"]