FROM node:22-alpine AS builder WORKDIR /app # Copier les fichiers de configuration COPY package*.json ./ COPY tsconfig*.json ./ COPY nest-cli.json ./ # Installer TOUTES les dépendances (dev + prod pour le build) RUN npm install && npm cache clean --force # Copier le code source COPY src ./src # Builder l'application RUN npm run build # Stage production FROM node:22-alpine AS production WORKDIR /app # Installer seulement les dépendances de production COPY package*.json ./ RUN npm install --only=production && npm cache clean --force # Copier le build depuis le stage builder COPY --from=builder /app/dist ./dist # Créer un utilisateur non-root RUN addgroup -g 1001 -S nodejs RUN adduser -S nestjs -u 1001 # Créer le dossier uploads et donner les permissions RUN mkdir -p /app/uploads/photos && chown -R nestjs:nodejs /app/uploads USER nestjs EXPOSE 3000 CMD ["node", "dist/main"]