# Stage builder FROM ghcr.io/cirruslabs/flutter:3.29.3 AS builder WORKDIR /app COPY pubspec.* ./ RUN flutter pub get COPY . . RUN flutter build web --release # Stage production FROM nginx:alpine # Image nginx:alpine contient déjà index.html « Welcome to nginx ». # Un merge de dossiers sans nettoyage peut laisser ce fichier si le build # Flutter n’écrase pas tous les fichiers → SPA invisible. On vide d’abord. RUN rm -rf /usr/share/nginx/html/* COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=builder /app/build/web /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]