From 1023b0c03442ff7110765714492a80293f9466df Mon Sep 17 00:00:00 2001 From: wander Date: Fri, 21 Nov 2025 22:25:57 +0000 Subject: [PATCH] Atualizar Dockerfile --- Dockerfile | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index f612eb6..49f1178 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,35 +1,37 @@ -# Etapa 1: build da aplicação -FROM node:20-alpine AS builder +# Etapa 1: build da aplicação com Bun +FROM oven/bun:1 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 +# (garante que o código vá para /app com package.json, bun.lockb, etc.) +RUN apt-get update && apt-get install -y unzip \ + && unzip app.zip \ + && rm app.zip \ + && rm -rf /var/lib/apt/lists/* -# 3) Instalar dependências (usando npm install, pois não existe script "install") -RUN npm install +# 3) Instalar dependências com Bun (comando separado) +RUN bun install -# 4) Build da aplicação (Vite gera a pasta dist/) -RUN npm run build +# 4) Build da aplicação (Vite) com Bun (comando separado) +# Usa o script "build": "vite build" já existente no package.json +RUN bun run build -# Etapa 2: imagem final somente com arquivos estáticos +# Etapa 2: imagem final, apenas arquivos estáticos servidos pelo Nginx FROM nginx:alpine AS runner -# Remover configuração default do nginx (opcional, mas limpo) +# Limpa qualquer HTML padrão do Nginx RUN rm -rf /usr/share/nginx/html/* -# Copiar o build estático gerado pelo Vite para o nginx +# Copia o build gerado (pasta dist) para o diretório servido pelo Nginx COPY --from=builder /app/dist /usr/share/nginx/html -# Expor porta padrão do nginx +# Expor porta padrão do Nginx EXPOSE 80 -# Comando padrão do nginx +# Comando padrão do Nginx CMD ["nginx", "-g", "daemon off;"]