# Estágio 1: Build da aplicação React FROM node:20-alpine AS builder # Instala git para resolução da versão de commit durante o build RUN apk add --no-cache git WORKDIR /app # Copia manifestos de dependência COPY package*.json ./ # Instalação limpa RUN npm ci # Copia código fonte COPY . . # Compila para produção RUN npm run build # Estágio 2: Servidor Web Nginx ultra-leve FROM nginx:alpine # Remove configuração padrão RUN rm -rf /usr/share/nginx/html/* # Copia arquivos compilados do builder COPY --from=builder /app/dist /usr/share/nginx/html # Copia arquivo de configuração do Nginx COPY nginx.conf /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]