| 123456789101112131415161718192021222324252627282930313233343536 |
- # Étape 1 : build
- FROM node:18 AS builder
- # Définir le répertoire de travail
- WORKDIR /app
- # Copier les fichiers de dépendances
- COPY package*.json ./
- # Installer les dépendances
- RUN npm install --production=false
- # Copier le reste du code
- COPY . .
- # Compiler TypeScript
- RUN npm run build
- # Étape 2 : production
- FROM node:18-slim
- # Répertoire de travail
- WORKDIR /app
- RUN npm install axios dotenv
- # Copier uniquement les fichiers nécessaires au runtime
- COPY --from=builder /app/node_modules ./node_modules
- COPY --from=builder /app/dist ./dist
- COPY --from=builder /app/package*.json ./
- # Exposer le port (ex. : 4002)
- EXPOSE 4002
- # Commande de démarrage
- CMD ["node", "dist/index.js"]
|