| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- FROM node:latest
- # Répertoire de travail
- WORKDIR /usr/src/app
- # 1. Installer les dépendances système nécessaires pour compiler bcrypt
- RUN apt-get update && \
- apt-get install -y build-essential python3 && \
- rm -rf /var/lib/apt/lists/*
- RUN rm -rf dist
- RUN rm -rf node_modules
- RUN rm -f package-lock.json
- # Copier les fichiers de dépendances
- COPY package*.json ./
- RUN npm install @nestjs/typeorm --save --force
- # Installer les dépendances
- RUN npm install bcrypt --build-from-source --force
- RUN npm install --force
- # Copier le reste du code (y compris src/)
- COPY . .
- # Regénérer Prisma si utilisé
- RUN npx prisma generate
- # Appliquer les migrations à la DB (base déjà configurée via DATABASE_URL)
- RUN npx prisma migrate deploy
- # Nettoyage éventuel (optionnel, à mettre *après* la copie du code)
- RUN npm cache clean --force
- RUN npm run build
- # Compiler le projet NestJS
- #RUN npm run build
- # Nettoyer les outils de compilation (optionnel pour production)
- RUN apt-get purge -y build-essential python3 && \
- apt-get autoremove -y
- # Exposer le port utilisé
- EXPOSE 3000
- # Commande de démarrage
- CMD ["npm", "run", "start"]
|