| 123456789101112131415161718192021222324252627282930313233343536373839 |
- FROM node:18
- # Répertoire de travail
- WORKDIR /usr/src/app
- # 1. Installer les dépendances système nécessaires
- 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 ./
- # Installer les dépendances
- RUN npm install --force
- RUN npm rebuild
- # Copier le reste du code (y compris src/)
- COPY . .
- # Vérifier l'installation des dépendances
- RUN npm list --depth=0
- # Regénérer Prisma si utilisé
- RUN npx prisma generate
- # Nettoyage éventuel (optionnel, à mettre *après* la copie du code)
- RUN npm cache clean --force
- # Build de l'application
- 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 3001
- # Commande de démarrage
- CMD ["node", "dist/main.js"]
|