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"]
