Dockerfile 680 B

123456789101112131415161718192021222324252627282930313233343536
  1. # Étape 1 : build
  2. FROM node:18 AS builder
  3. # Définir le répertoire de travail
  4. WORKDIR /app
  5. # Copier les fichiers de dépendances
  6. COPY package*.json ./
  7. # Installer les dépendances
  8. RUN npm install
  9. # Copier le reste du code
  10. COPY . .
  11. # Compiler TypeScript
  12. RUN npm run build
  13. # Étape 2 : production
  14. FROM node:18-slim
  15. # Répertoire de travail
  16. WORKDIR /app
  17. RUN npm install axios dotenv
  18. # Copier uniquement les fichiers nécessaires au runtime
  19. COPY --from=builder /app/node_modules ./node_modules
  20. COPY --from=builder /app/dist ./dist
  21. COPY --from=builder /app/package*.json ./
  22. # Exposer le port (ex. : 4002)
  23. EXPOSE 4002
  24. # Commande de démarrage
  25. CMD ["node", "dist/index.js"]