Mudando um app Next.js da Vercel para o seu próprio servidor
Para mudar um app Next.js da Vercel para o seu próprio servidor, conecte o mesmo repositório do GitHub ao painel Coolify do servidor, copie as variáveis de ambiente, substitua as partes específicas da Vercel (cron, analytics, armazenamento), teste em um endereço temporário e troque o registro A do seu domínio por último. A documentação do Next.js diz que todos os recursos funcionam em um servidor Node.js. A sua publicação na Vercel continua no ar até você trocar, então você tem um caminho de volta.
Na verdade, isto é uma escolha de modelo de cobrança. A documentação da Vercel explica que a infraestrutura é cobrada por dados transferidos, requisições e duração de computação. Um servidor custa uma mensalidade fixa pela RAM, CPU e disco que você escolhe. Nossa comparação mostra como fazer as suas próprias contas.
O que muda quando você se muda?
| Tema | Vercel | Seu servidor |
|---|---|---|
| Cobrança | Por uso | Mensalidade fixa, tráfego ilimitado, backups diários incluídos no preço |
| Localização | Rede de entrega global | Um servidor, em Istambul |
| Picos de tráfego | A plataforma os absorve e a conta cresce | O site fica lento quando a capacidade acaba, e você aumenta o servidor |
| Builds | Nas máquinas da plataforma | No mesmo servidor, então os builds definem a memória de que você precisa |
| Manutenção | Trabalho da plataforma | Atualizações do sistema e dos pacotes e o monitoramento são seus, assim como o acesso root |
| Prévias | Automáticas para branches | Ativadas separadamente no Coolify |
| Segurança de rede | Vercel Firewall | Você gerencia o firewall do servidor |
Sendo claro: há um servidor, não há entrega de borda mundial e a manutenção passa a ser sua. Para quem isso não pesa? Se os seus visitantes estão em sua maioria na Turquia e em países vizinhos, uma localização basta. Se todas as suas páginas leem de um único banco de dados, as respostas esperam esse banco de dados onde quer que o código rode. Painéis, ferramentas internas e produtos com tráfego previsível raramente precisam de escalonamento automático. Se o seu público está espalhado pelo mundo, o seu tráfego tem picos fortes ou você nunca quer mexer em manutenção, a Vercel pode ser a melhor opção.
Prepare o novo servidor
- Peça pela página do VPS Next.js. O servidor vem com o Coolify.
- Conecte o repositório. O caminho curto: abra o projeto no Claude Code ou no Cursor, cole a linha Cole na sua ferramenta de IA da aba Visão geral, e a ferramenta publica. Você também pode fazer à mão.
- Fixe a sua versão do Node com
engines.nodenopackage.json. - Puxe as suas variáveis:
vercel env pull .env.move --environment=production. Valores secretos não podem ser lidos de volta, então a CLI escreve marcadores de posição e você pega esses valores na origem. Mantenha o arquivo fora do repositório e informe o conteúdo dele em Environment Variables no Coolify, com os valoresNEXT_PUBLIC_disponíveis na hora do build. - Procure código específico da Vercel:
grep -n "@vercel/" package.jsonegrep -rnE "VERCEL_|x-vercel-" app src. Variáveis de sistema comoVERCEL_URLnão existem no seu servidor, então use as suas próprias.
Recursos do Next.js e partes específicas da Vercel
| Parte | No seu servidor | O que fazer |
|---|---|---|
| Otimização de imagens | Funciona com next start, sem configuração | Usa a CPU e a memória do seu servidor |
| ISR e cache | Funcionam por conta própria em uma instância com disco local | Várias instâncias precisam compartilhar o cache, e ele se reabastece a cada publicação |
| Middleware (Proxy no Next.js 16) | Funciona com next start, sem configuração | As requisições agora são tratadas em Istambul |
| Cron jobs | O vercel.json não é lido | Chame o mesmo caminho em Scheduled Tasks no Coolify: curl -fsS -H "Authorization: Bearer $CRON_SECRET" http://localhost:3000/api/cron. O cron da Vercel roda em UTC, enquanto o Coolify usa o fuso horário do servidor |
| Redirecionamentos e cabeçalhos | O vercel.json não é lido | Mova-os para o next.config |
| Web Analytics, Speed Insights | Dependem de rotas que a Vercel adiciona a uma publicação | Remova os componentes e use uma ferramenta como o Umami |
| AI Gateway | Pode ser chamado de qualquer servidor | Defina AI_GATEWAY_API_KEY |
E o Postgres, o KV e o Blob?
- Postgres e KV: A documentação da Vercel diz que esses produtos foram descontinuados e que os bancos mais antigos foram para provedores do Marketplace, então os seus dados ficam com um provedor separado, atrás de uma variável de ambiente. Leve essa variável junto e o app alcança o mesmo banco de dados. Se a cobrança passa pela sua conta da Vercel, pegue os seus dados antes de encerrá-la. Um banco de dados distante soma essa distância a cada consulta.
- Movendo para o seu servidor: Crie um PostgreSQL no Coolify, exporte com
pg_dump -Fc "OLD-DATABASE-URL" --no-owner --no-privileges -f backup.dumpe envie o arquivo com Import backup na página Backups do banco de dados. Se o Redis é só um cache, começar vazio geralmente não tem problema. - Blob: o
BLOB_READ_WRITE_TOKENtambém funciona a partir de outro host, então você pode deixá-lo como está. Para trazer os arquivos para o seu servidor, mude o código e monte a pasta com Persistent Storage.
Mudando o seu domínio sem indisponibilidade
- Teste no endereço HTTPS que o Coolify dá: login, formulários, pagamentos, imagens e Execute now para o cron.
dig NS example.com +shortmostra onde os seus registros ficam: na página Domains da Vercel, se ela listar os servidores de nomes da Vercel; caso contrário, no seu provedor de DNS.- Reduza o TTL dos registros da raiz e do
www, para 300 segundos por exemplo, e espere o TTL antigo passar. - Se o banco de dados também vai mudar, pare as gravações e carregue a cópia final.
- Aponte o registro A para o endereço IP do servidor. Deixe os registros MX e TXT em paz, por causa do e-mail.
- Adicione o domínio com
httpsna página Domains do Coolify e clique em Redeploy. O certificado é emitido automaticamente. - Mantenha a publicação na Vercel no ar por alguns dias. Visitantes com o registro antigo em cache caem lá, e você pode apontar o registro de volta se precisar.
- Quando o tráfego tiver mudado, remova o domínio do projeto na Vercel, corte a conexão com o Git com Disconnect e restaure o TTL.
O certificado só é emitido depois que o domínio aponta para o servidor, então os primeiros visitantes podem ver um breve aviso de certificado. Faça a troca em um horário de pouco movimento.
Perguntas frequentes
Com que tamanho devo começar?
A página de vendas recomenda pelo menos 4 GB de RAM, 2 vCores e 40 GB de disco. Um projeto pequeno foi compilado com 2 GB, enquanto um com 85 pacotes ficou sem memória com 2 GB e foi compilado com 4 GB. Você pode aumentar pelo seu painel.
Quanto vai custar por mês?
Esse tamanho custa cerca de $6 por mês (impostos incluídos), e fora da Turquia você paga em dólares americanos. O tráfego é ilimitado.
Preciso transferir um domínio que comprei na Vercel?
Não. A documentação da Vercel trata registro e DNS como coisas separadas. Mudar o registro A na Vercel basta, e o seu registro substitui os padrão.
Como funcionam as atualizações depois da mudança?
Com um webhook, o git push compila e publica cada versão. Se uma der errado, a página Rollback do Coolify devolve você a uma imagem anterior.
Posso mudar sem mover o banco de dados?
Sim, e é a ordem de menor risco. Mova o app primeiro e o banco de dados depois.
Comentários0
Ainda não há comentários
Seja a primeira pessoa a compartilhar sua opinião.
Entre ou crie uma conta para deixar um comentário.