Dockerfile 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. # Appliquer les migrations à la DB (base déjà configurée via DATABASE_URL)
  22. RUN npx prisma migrate deploy
  23. # Nettoyage éventuel (optionnel, à mettre *après* la copie du code)
  24. RUN npm cache clean --force
  25. RUN npm run build
  26. # Compiler le projet NestJS
  27. #RUN npm run build
  28. # Nettoyer les outils de compilation (optionnel pour production)
  29. RUN apt-get purge -y build-essential python3 && \
  30. apt-get autoremove -y
  31. # Exposer le port utilisé
  32. EXPOSE 3000
  33. # Commande de démarrage
  34. CMD ["npm", "run", "start"]