# Stage 1: Build FROM node:20.18.0-alpine AS build-stage WORKDIR /app # Copier les fichiers de dépendances COPY package*.json ./ # Installer les dépendances (sans --only=production=false qui est obsolète) RUN npm ci # Copier le code source COPY . . # Construire l'application RUN npm run build # Stage 2: Production FROM node:20.18.0-alpine AS production-stage # Installer serve globalement RUN npm install -g serve # Créer un utilisateur non-root pour la sécurité USER node WORKDIR /home/node # Copier les fichiers buildés depuis le stage précédent COPY --chown=node:node --from=build-stage /app/dist ./dist # Exposer le port 7860 (requis par Hugging Face Spaces) EXPOSE 7860 # Commande pour servir l'application CMD ["serve", "-s", "dist", "-l", "7860"]