# Étape 1 : Build
FROM node:20-alpine AS builder

# Définition du répertoire de travail
WORKDIR /app

# Copie des fichiers package.json et package-lock.json
COPY package.json package-lock.json ./

# Installation des dépendances
RUN npm ci --legacy-peer-deps || npm install --legacy-peer-deps

# Copie du code source
COPY . .

# Build de l'application
ARG VITE_API_URL
ENV VITE_API_URL=${VITE_API_URL}
RUN VITE_API_URL=${VITE_API_URL}
RUN npm run build

# Étape 2 : Serveur Nginx pour la production et la préproduction
FROM nginx:alpine AS runner

# Suppression du fichier de configuration par défaut de Nginx
RUN rm -rf /etc/nginx/conf.d/default.conf

# Copie de la configuration Nginx pour servir l’application
COPY nginx.conf /etc/nginx/conf.d/default.conf

# Copie des fichiers de build de l'application
COPY --from=builder /app/dist /usr/share/nginx/html

# Exposition du port
EXPOSE 80

# Commande de démarrage
CMD ["nginx", "-g", "daemon off;"]
