# Multi-stage build pour BTP Xpress Client avec optimisations FROM node:18-alpine AS deps # Installer les dépendances système nécessaires RUN apk add --no-cache libc6-compat WORKDIR /app # Copier les fichiers de dépendances COPY package.json package-lock.json* ./ # Installer les dépendances RUN npm ci --only=production && npm cache clean --force # Builder stage FROM node:18-alpine AS builder WORKDIR /app # Copier les dépendances depuis deps COPY --from=deps /app/node_modules ./node_modules # Copier le code source COPY . . # Variables d'environnement pour le build de production ENV NEXT_TELEMETRY_DISABLED 1 ENV NODE_ENV production # Construire l'application RUN npm run build # Image de production avec Nginx FROM nginx:alpine AS runner # Installer Node.js pour servir l'application Next.js RUN apk add --no-cache nodejs npm curl # Créer un utilisateur non-root RUN addgroup -g 1001 -S nodejs && \ adduser -S nextjs -u 1001 -G nodejs WORKDIR /app # Copier les fichiers construits depuis le builder COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static COPY --from=builder --chown=nextjs:nodejs /app/public ./public # Configuration Nginx optimisée COPY <