From e24a35709b88e22289815f65f68e0a8bd0e65b36 Mon Sep 17 00:00:00 2001 From: Keven Date: Tue, 9 Dec 2025 15:45:32 -0300 Subject: [PATCH] 1545 --- Dockerfile | 10 ++++------ next.config.ts | 12 ++++++++---- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index fe0a023..5265519 100644 --- a/Dockerfile +++ b/Dockerfile @@ -23,15 +23,13 @@ WORKDIR /app ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 -# Copia o standalone e os assets estáticos -COPY --from=builder /app/.next/standalone ./ # traz server.js e a app standalone +# Copia apenas o necessário do build +COPY --from=builder /app/.next/standalone ./ COPY --from=builder /app/.next/static ./.next/static COPY --from=builder /app/public ./public - -# (Opcional, mas útil para dependências em runtime) COPY --from=builder /app/package*.json ./ -# Cria usuário não-root e dá permissão +# Corrige permissões (para cache de imagens, etc.) RUN addgroup -S nodejs && adduser -S nextjs -G nodejs \ && mkdir -p .next/cache/images \ && chown -R nextjs:nodejs /app @@ -40,5 +38,5 @@ USER nextjs EXPOSE 3000 -# Aqui é o ponto chave: NÃO usar "next start" +# Executa o servidor standalone gerado pelo Next CMD ["node", "server.js"] diff --git a/next.config.ts b/next.config.ts index 604d42e..0cf2275 100644 --- a/next.config.ts +++ b/next.config.ts @@ -1,16 +1,20 @@ /** @type {import('next').NextConfig} */ const nextConfig = { + // Gera build autônomo para rodar com "node server.js" output: 'standalone', + + // Configurações gerais reactStrictMode: true, poweredByHeader: false, compress: true, - // Desativa ESLint e TypeScript durante o build de produção + // Desativa verificações no build de produção eslint: { ignoreDuringBuilds: true }, typescript: { ignoreBuildErrors: true }, - // Força runtime Node.js (para evitar Edge Runtime) - experimental: { runtime: 'nodejs' }, + // ✅ Removido o experimental.runtime (incompatível no Next 15) + // O runtime agora é definido por rota ou via middleware (Edge/Node.js), + // mas por padrão, tudo roda em Node.js quando "output: standalone" está ativo. }; -module.exports = nextConfig; \ No newline at end of file +module.exports = nextConfig;