From dbbd0291d87594998eecfc3d7e9292543dd19959 Mon Sep 17 00:00:00 2001 From: Kenio de Souza Date: Mon, 10 Nov 2025 10:40:20 -0300 Subject: [PATCH] feat(): Ajustes para deploy --- .dockerignore | 10 ++++++++++ Dockerfile-homologacao | 35 ++++++++++++++++++----------------- 2 files changed, 28 insertions(+), 17 deletions(-) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..a3ff0b4 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,10 @@ +node_modules +npm-debug.log +Dockerfile +.dockerignore +.git +.gitignore +.env +*.md +.vscode +dist diff --git a/Dockerfile-homologacao b/Dockerfile-homologacao index 42d7e81..c3d53eb 100644 --- a/Dockerfile-homologacao +++ b/Dockerfile-homologacao @@ -1,41 +1,42 @@ -# Etapa 1: Construir a aplicação +# ======================================================== +# Etapa 1: Build da aplicação +# ======================================================== FROM node:20-alpine AS builder -# Define o diretório de trabalho +# Define diretório de trabalho WORKDIR /app -# Copia os arquivos de configuração do pacote +# Copia arquivos de configuração do pacote COPY package.json package-lock.json ./ -# Instala as dependências do projeto -RUN npm install +# Instala dependências de produção e desenvolvimento +RUN npm ci -# Copia todo o código da aplicação para o container +# Copia todo o código fonte COPY . . -# Constrói a aplicação com o output 'standalone' +# Gera build standalone RUN npm run build -# Etapa 2: Executar a aplicação -# Usa uma imagem Node.js leve +# ======================================================== +# Etapa 2: Runner (produção) +# ======================================================== FROM node:20-alpine AS runner -# Define o diretório de trabalho +# Define diretório de trabalho WORKDIR /app -# Copia o diretório 'standalone' da etapa de build, que já contém o servidor e as dependências -# O diretório 'standalone' é a pasta .next/standalone gerada pela configuração 'output: standalone' +# Copia diretório standalone gerado pelo build COPY --from=builder /app/.next/standalone ./ -# Copia os arquivos públicos +# Copia pasta public COPY --from=builder /app/public ./public -# Copia os arquivos estáticos gerados pelo build. É aqui que os arquivos CSS e JS ficam. +# Copia arquivos estáticos do build COPY --from=builder /app/.next/static ./.next/static -# Expõe a porta padrão do Next.js +# Expondo porta padrão do Next.js EXPOSE 3000 -# Define o comando para iniciar a aplicação -# O 'start' do package.json não é necessário, o próprio servidor standalone já está no container +# Comando de inicialização do servidor standalone CMD ["node", "server.js"]