Blog

Tutoriais, guias e novidades do produto.

Desenvolvedores

Hospedando o Next.js no seu próprio servidor com publicação a cada git push

2 novembro 2026 6 min de leitura
Compartilhar esta publicação

O caminho curto para hospedar o Next.js no seu próprio servidor é instalar um painel de publicação como o Coolify e conectar o seu repositório do GitHub. Depois disso, cada git push compila o app e coloca a nova versão no ar por HTTPS. Segundo a documentação do Next.js, todos os recursos funcionam quando você publica com um servidor Node.js ou um contêiner Docker, então você não fica preso a nenhuma plataforma especial.

Quais recursos funcionam no seu próprio servidor?

A tabela da documentação oficial é curta: um servidor Node.js e o Docker suportam todos os recursos, e a exportação estática é limitada. Em um único servidor, isso significa na prática:

  • Server components, rotas de API e respostas em streaming funcionam com next start.
  • O next/image não precisa de configuração extra, e as imagens são processadas no servidor.
  • O cache e a regeneração estática incremental (ISR) funcionam por conta própria em um servidor com disco persistente. Se você roda várias cópias, precisa compartilhar o cache entre elas.
  • A recomendação oficial é colocar um proxy reverso na frente, em vez de expor o Next.js diretamente. O Coolify vem com o Traefik para isso, e o Traefik também obtém o certificado.

Que potência o servidor deve ter?

É o build que decide quanta memória você precisa, não o app em execução. O next build tem um pico, e o app precisa de muito menos depois que está no ar. O próprio Coolify também usa memória. Estes são os valores que medimos em servidores reais:

TamanhoProjeto pequenoProjeto com muitos pacotes
2 GB, 1 vCPU350 s, 1,4 GB de memória e 0,5 GB de swapO build ficou sem memória
4 GB, 2 vCPU213 s, 2,2 GB de memória e 0,2 GB de swap223 s, 3,5 GB de memória e 0,9 GB de swap

O projeto pequeno era o app Next.js de exemplo do Coolify. O maior era um app de chat com IA escrito em Next.js 16 e com cerca de 85 pacotes, e com 2 GB ele ficou sem memória durante a verificação do TypeScript. O servidor tinha 2 GB de swap, e os números mostram o ponto mais alto. O uso de disco depois do primeiro build foi de 13 a 18 GB. São medições nossas, e o seu projeto vai ser diferente. Se um build falhar por falta de memória, aumente o servidor primeiro e reduza de novo mais tarde, se puder.

Passo a passo

1. Conecte o repositório

Entre no Coolify, abra o seu projeto na página Projects e clique em New resource. Para um repositório público, escolha Public Git Repository, informe o endereço e clique em Check repository.

2. Adicione uma chave se o repositório for privado

No menu da esquerda, vá em Private Keys, em Keys & Tokens, e crie uma chave com Generate ED25519. Adicione a chave pública em Deploy keys, na página Settings do repositório no GitHub. Depois use New resource, escolha Private Git Repository (with Deploy Key) e informe [email protected]:user/project.git. Deixe Build pack em Railpack, que reconhece o Next.js, e a porta continua em 3000. O Coolify marca o Railpack como beta, então escolha o seu próprio Dockerfile se ele der problema.

3. Informe as variáveis de ambiente

Na página Environment Variables, mude para Developer view e cole o conteúdo do seu arquivo .env. Um detalhe importa aqui: as variáveis cujos nomes começam com NEXT_PUBLIC_ são escritas no código durante o build. Quando alterar uma, clique em Redeploy: o painel percebe que uma configuração de build mudou e compila de novo. Nunca dê esse prefixo a uma chave que o navegador não deve ver.

4. Conecte o seu domínio

Crie um registro A no seu provedor de domínio apontando para o endereço IP do servidor. No Coolify, vá à página Domains, clique em Add domain, escolha https como protocolo, informe o seu domínio, salve e publique de novo. O certificado é solicitado e renovado automaticamente. As portas 80 e 443 precisam estar abertas.

5. Publique

Clique em Deploy. A página Deployments mostra o log do build ao vivo. Quando o build termina, o contêiner antigo continua atendendo até o novo ficar pronto.

Como o git push vira uma publicação?

A cada push, o GitHub envia ao painel uma requisição assinada. O painel verifica a assinatura e recompila o app daquela branch, e uma requisição com assinatura inválida é rejeitada. Veja como configurar:

  1. Na página Webhooks do app, copie a Webhook URL da seção do GitHub, digite um valor aleatório de pelo menos 16 caracteres em Webhook secret e salve.
  2. No GitHub, abra Settings do repositório, vá em Webhooks e clique em Add webhook.
  3. Coloque o endereço em Payload URL e o mesmo valor em Secret. Defina Content type como application/json e deixe o push como único evento.

Para testar:

git commit --allow-empty -m "deploy test"

git push

O novo build aparece na página Deployments. No pequeno projeto de exemplo, um novo commit foi ao ar em 41 segundos graças ao cache de build. O GitHub precisa conseguir acessar o endereço do painel, e como o painel é instalado com um endereço HTTPS público, nada extra é necessário.

Erros comuns

SintomaCausaSolução
O build morre com Killed ou heap out of memoryMemória insuficienteAumente o servidor
Um novo valor de NEXT_PUBLIC_ não apareceO valor fica embutido no buildUse Redeploy
O build falha por uma variável ausenteO código lê a variável durante o buildAdicione-a no painel e deixe-a disponível na hora do build
Nenhum certificado chegaO registro A está errado ou não propagouConfira o registro e publique de novo depois que ele propagar
Um erro 502 no site no arO app escuta em outra portaCorrija a porta na página General

Com a opção Next.js da Seturack, o Coolify chega instalado: o servidor local está validado, o assistente de boas-vindas já foi resolvido e o painel abre por HTTPS. O endereço e a senha aparecem no seu painel, e você começa conectando o GitHub. Você tem acesso root e pode gerenciar tudo pelo painel, se preferir. Os backups diários estão incluídos no preço e o tráfego é ilimitado. Você define o tamanho com controles deslizantes na página do VPS Next.js.

Pronto na Seturack: Next.js, Coolify.

Comentários0

Ainda não há comentários

Seja a primeira pessoa a compartilhar sua opinião.

Participe da discussão

Entre ou crie uma conta para deixar um comentário.

Não perca nenhuma publicação

Receba nossos tutoriais, guias e novidades de produtos na sua caixa de entrada.

Sua inscrição no nosso boletim informativo foi concluída.