Capítulo 18 de 456

Deploying

Core Idea

Next.js pode ser implantado como servidor Node.js, container Docker, export estático, ou adaptado a plataformas via Deployment Adapter API. Escolha a opção pelo nível de suporte a features que você precisa.

Key Concepts

  • Node.js server: suporta todas as features; requer scripts build e start no package.json; ejeta para custom server se necessário.
  • Docker: suporta todas as features; usar output: "standalone" para imagem mínima de produção.
  • Static export: output: "export" gera HTML/CSS/JS estáticos hospedáveis em qualquer servidor (S3, Nginx, Apache); suporte limitado, não roda features que exigem servidor.
  • Adapters: Deployment Adapter API (adapterPath em next.config.ts) permite plataformas customizarem build/deploy.
  • Verified Adapters: open source, rodam a suíte de compatibilidade completa, hospedados sob a org GitHub nextjs; atualmente Vercel e Bun.
  • Other Platforms: Cloudflare, Netlify, AWS Amplify, Appwrite, Deno Deploy, Firebase (integrações próprias não baseadas na Adapter API pública, suporte/compatibilidade variam).

Code Examples

{
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start"
  }
}
  • O que demonstra: Scripts mínimos exigidos para deploy em servidor Node.js (npm run build + npm run start).

Reference Tables

Deployment OptionFeature Support
Node.js serverAll
Docker containerAll
Static exportLimited
AdaptersVaries (verified adapters run the test suite)

Anti-patterns

  • Usar Docker no desenvolvimento local em Mac/Windows: prefira npm run dev local para melhor performance; Docker é ideal só para produção.
  • Esperar suporte total a features com static export: static export não roda features que exigem servidor (ver static-exports#unsupported-features).

Key Takeaways

  1. Node.js server e Docker suportam 100% das features; static export é limitado.
  2. output: "standalone" gera imagem Docker mínima com só o runtime necessário.
  3. Verified Adapters (Vercel, Bun) rodam a suíte de compatibilidade oficial; outras plataformas (Cloudflare, Netlify etc.) têm integrações próprias não verificadas.
  4. Escolher a opção de deploy determina quais recursos do Next.js (ISR, Server Actions, etc.) estarão disponíveis.

Connects To

  • self-hosting: guia de configuração para deploys Node.js/Docker.
  • static-exports: detalha limitações do modo output: "export".
  • deploying-to-platforms: detalha capacidades por plataforma além dos adapters verificados.