Dockerfile 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. FROM node:latest
  2. # Répertoire de travail
  3. WORKDIR /usr/src/app
  4. # 1. Installer les dépendances système nécessaires pour compiler bcrypt
  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. RUN npm install @nestjs/typeorm --save --force
  14. # Installer les dépendances
  15. RUN npm install bcrypt --build-from-source --force
  16. RUN npm install --force
  17. # Copier le reste du code (y compris src/)
  18. COPY . .
  19. # Regénérer Prisma si utilisé
  20. RUN npx prisma generate
  21. # Nettoyage éventuel (optionnel, à mettre *après* la copie du code)
  22. RUN npm cache clean --force
  23. RUN npm run build
  24. # Compiler le projet NestJS
  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 3000
  31. # Commande de démarrage
  32. CMD ["npm", "run", "start"]