# Etapa 1: build da aplicação FROM node:20-alpine AS builder # Diretório de trabalho dentro do container WORKDIR /app # Precisamos do unzip para descompactar o .zip RUN apk add --no-cache unzip # 1) Copiar o .zip para dentro da imagem COPY app.zip . # 2) Descompactar o .zip e remover o arquivo RUN unzip app.zip && rm app.zip # 3) Instalar dependências (usando npm install, pois não existe script "install") RUN npm install # 4) Build da aplicação (Vite gera a pasta dist/) RUN npm run build # Etapa 2: imagem final somente com arquivos estáticos FROM nginx:alpine AS runner # Remover configuração default do nginx (opcional, mas limpo) RUN rm -rf /usr/share/nginx/html/* # Copiar o build estático gerado pelo Vite para o nginx COPY --from=builder /app/dist /usr/share/nginx/html # Expor porta padrão do nginx EXPOSE 80 # Comando padrão do nginx CMD ["nginx", "-g", "daemon off;"]