Implantar Next.js
Implante um aplicativo Next.js existente como um processo Node.js persistente. Páginas estáticas, rotas renderizadas no servidor e rotas API podem ser publicadas no mesmo aplicativo.
Use a página de implantação Next.js para avaliar a adequação à produção, preços, modelos e verificações da versão antes de seguir as etapas de implementação abaixo.
Começando em uma pasta vazia? Siga o tutorial completo de compilação e implantação Next.js, ou utilizar Workflow de desenvolvimento de aplicativos assistido por IA para Codex, ChatGPT, Gemini e Claude.
Pré-requisitos
- Um projeto Next.js que instala e compila a partir de um checkout limpo
- Um script de início de produção, como
next start - O CLI Adios instalado e autenticado
1. Adicionar uma rota de saúde
Para um projeto App Router, adicione app/api/health/route.js:
export function GET() {
return Response.json({ status: "ok" });
}
A rota deve retornar uma resposta bem sucedida quando o aplicativo estiver pronto para receber tráfego. Se depende de uma base de dados ou de outro serviço necessário, decida se a resposta à saúde também deve verificar essa dependência.
2. Configurar o ambiente de execução
Crie adios.yaml na raiz do projeto:
name: my-nextjs-app
region: de
replicas: 1
build_cmd: npm ci && npm run build
start_cmd: npm start
runtime:
name: node@24
port: 3000
health_path: /api/health
memory_mb: 1024
Mantenha o gerenciador de pacotes e o arquivo de lock já usados pelo projeto. Para pnpm, substitua os campos de comando pelos comandos pnpm equivalentes:
build_cmd: pnpm install --frozen-lockfile && pnpm build
start_cmd: pnpm start
Ajuste a versão do Node.js, porta, memória, região e caminho de saúde para o aplicativo. Consulte a referência do manifesto para cada campo suportado.
Escolha o compilador
O Adios executa o comando de compilação do projeto. Você pode usar webpack ou Turbopack. Para projetos Next.js compatíveis, recomendamos experimentar o Turbopack para reduzir o tempo de compilação. Selecione-o no arquivo package.json:
{
"scripts": {
"build": "next build --turbopack"
}
}
Mantenha next build --webpack se seu aplicativo depender de plugins ou configuração do webpack. Verifique Compatibilidade do Next.js e teste suas páginas, rotas API e arquivos gerados antes de mudar.
Se você implantar .next/standalone/server.js, mantenha output: "standalone" na configuração do Next.js. O rastreamento de dependências identifica os arquivos necessários para esse pacote de servidor; o Turbopack continua produzindo essas dependências pelo próprio processo de compilação. Remover a saída standalone não desativa automaticamente o rastreamento do Next.js e exige outro pacote de implantação.
3. Adicionar configuração e segredos
A configuração pública de execução pode ser declarada no manifesto. Mantenha valores sensíveis fora do Git e referencie-os pelo nome:
env:
NEXT_PUBLIC_APP_URL: https://app.example.com
DATABASE_URL: secret://DATABASE_URL
AUTH_SECRET: secret://AUTH_SECRET
Crie os valores dos segredos referenciados com a CLI ou o IDE web antes de o aplicativo precisar deles durante a execução.
4. Implantar
Execute a implantação a partir da raiz do projeto:
adios up
O Adios envia o código-fonte atual, executa o comando de compilação, inicia o processo de produção e verifica /api/health, e promove a versão depois que ela informa estar saudável. A implantação retorna uma rota HTTPS gerada.
5. Inspecionar e verificar
Separe a saída da compilação da saída do processo em execução:
adios logs --build
adios logs --runtime
Abra a rota gerada e verifique uma página estática, uma página renderizada no servidor e qualquer rota API de que o aplicativo dependa. Se a compilação ou o controle de saúde falhar, consulte os logs correspondentes antes de implantar a próxima versão.
Domínios personalizados
Depois que a rota gerada funcionar, associe e verifique o nome de host de produção. O Adios gerencia o TLS do domínio verificado e o mantém conectado à versão promovida. Siga o guia Domínios e Redirecionamentos para a ordem de configuração do DNS e verificação.
Comece por um modelo
Se não tiver um repositório existente, escolha um modelo oficial Next.js em JavaScript ou TypeScript com npm ou pnpm no catálogo de modelos.