Migrar uma aplicação Next.js da Vercel para o seu próprio servidor
Para migrar uma aplicação Next.js da Vercel para o seu próprio servidor, ligue 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, analítica, armazenamento), teste num endereço temporário e mude por último o registo A do seu domínio. A documentação do Next.js diz que todas as funcionalidades funcionam num servidor Node.js. A sua publicação na Vercel continua no ar até mudar, por isso tem caminho de volta.
No fundo, é uma escolha de modelo de faturação. A documentação da Vercel explica que a infraestrutura é faturada por dados transferidos, pedidos e duração de computação. Um servidor custa uma mensalidade fixa pela RAM, CPU e disco que escolher. A nossa comparação mostra como fazer as suas próprias contas.
O que muda quando migra?
| Tema | Vercel | O seu servidor |
|---|---|---|
| Faturação | Por utilização | Mensalidade fixa, tráfego ilimitado, cópias de segurança diárias incluídas no preço |
| Localização | Rede global de distribuição | Um servidor, em Istambul |
| Picos de tráfego | A plataforma absorve-os e a fatura cresce | O site fica lento quando a capacidade se esgota, e cabe-lhe aumentar |
| Compilações | Nas máquinas da plataforma | No próprio servidor, por isso as compilações definem a memória de que precisa |
| Manutenção | Trabalho da plataforma | As atualizações do sistema e dos pacotes e a monitorização são suas, tal como o acesso root |
| Pré-visualizações | Automáticas para ramos | Ativadas à parte no Coolify |
| Segurança de rede | Vercel Firewall | Gere a firewall do servidor |
Para ser claro: há um servidor, sem distribuição mundial na periferia, e a manutenção passa a ser sua. Para quem não é problema? Se os seus visitantes estão sobretudo na Turquia e em países próximos, uma só localização serve. Se as suas páginas leem todas de uma única base de dados, as respostas esperam por essa base de dados onde quer que o código corra. Painéis, ferramentas internas e produtos com tráfego previsível raramente precisam de escalar automaticamente. Se o seu público está espalhado pelo mundo, o seu tráfego tem picos fortes ou nunca quer mexer na manutenção, a Vercel pode ser a melhor opção.
Prepare o novo servidor
- Encomende na página do VPS Next.js. O servidor vem com o Coolify.
- Ligue o repositório. O caminho curto: abra o projeto no Claude Code ou no Cursor, cole a linha Cole na sua ferramenta de IA do separador Resumo, e a ferramenta publica-o. Também pode fazê-lo à mão.
- Fixe a sua versão do Node com
engines.nodenopackage.json. - Obtenha as suas variáveis:
vercel env pull .env.move --environment=production. Os valores secretos não podem ser lidos de volta, por isso a CLI escreve marcadores de posição e esses valores obtém-nos da origem. Mantenha o ficheiro fora do repositório e introduza o seu conteúdo em Environment Variables no Coolify, com os valoresNEXT_PUBLIC_disponíveis no momento da compilação. - Procure código específico da Vercel:
grep -n "@vercel/" package.jsonegrep -rnE "VERCEL_|x-vercel-" app src. As variáveis de sistema comoVERCEL_URLnão existem no seu servidor, por isso use as suas.
Funcionalidades 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 o CPU e a memória do seu servidor |
| ISR e cache | Funcionam por si numa única instância com disco local | Várias instâncias têm de partilhar a cache, e ela volta a encher depois de cada publicação |
| Middleware (Proxy no Next.js 16) | Funciona com next start, sem configuração | Os pedidos passam a ser tratados em Istambul |
| Tarefas cron | O vercel.json não é lido | Chame o mesmo caminho a partir de Scheduled Tasks no Coolify: curl -fsS -H "Authorization: Bearer $CRON_SECRET" http://localhost:3000/api/cron. O cron da Vercel corre em UTC, enquanto o Coolify usa o fuso horário do servidor |
| Redirecionamentos e cabeçalhos | O vercel.json não é lido | Passe-os para o next.config |
| Web Analytics, Speed Insights | Dependem de rotas que a Vercel acrescenta a uma publicação | Remova os componentes e use uma ferramenta como o Umami |
| AI Gateway | Pode ser chamado a partir 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 estes produtos acabaram e que as bases de dados mais antigas passaram para fornecedores do Marketplace, por isso os seus dados estão num fornecedor à parte, por trás de uma variável de ambiente. Leve essa variável e a aplicação chega à mesma base de dados. Se a faturação passa pela sua conta da Vercel, retire os seus dados antes de a encerrar. Uma base de dados distante soma essa distância a cada consulta.
- Mover para o seu servidor: crie o PostgreSQL no Coolify, exporte com
pg_dump -Fc "OLD-DATABASE-URL" --no-owner --no-privileges -f backup.dumpe carregue o arquivo com Import backup na página Backups da base de dados. Se o Redis for só uma cache, começar vazio costuma servir. - Blob: o
BLOB_READ_WRITE_TOKENtambém funciona a partir de outro anfitrião, por isso pode deixá-lo em paz. Para trazer os ficheiros para o seu servidor, altere o código e monte a pasta com Persistent Storage.
Mudar o domínio sem tempo de inatividade
- Teste no endereço HTTPS que o Coolify lhe dá: início de sessão, formulários, pagamentos, imagens e Execute now para o cron.
- O
dig NS example.com +shortmostra onde estão os seus registos: na página Domains da Vercel se listar os servidores de nomes da Vercel, ou então no seu fornecedor de DNS. - Baixe o TTL dos registos da raiz e do
www, por exemplo para 300 segundos, e espere que o TTL antigo passe. - Se a base de dados também vai mudar, pare as escritas e carregue a cópia final.
- Aponte o registo A para o endereço IP do servidor. Deixe em paz os registos MX e TXT do e-mail.
- Adicione o domínio com
httpsna página Domains do Coolify e prima Redeploy. O certificado é emitido automaticamente. - Mantenha a publicação da Vercel no ar durante alguns dias. Os visitantes com o registo antigo em cache vão parar lá, e pode voltar a apontar o registo para trás se for preciso.
- Quando o tráfego tiver passado, remova o domínio do projeto na Vercel, corte a ligação ao Git com Disconnect e reponha o TTL.
O certificado só é emitido depois de o domínio apontar para o servidor, por isso os primeiros visitantes podem ver um breve aviso de certificado. Faça a mudança numa hora calma.
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 pequeno projeto compilou com 2 GB, enquanto um com 85 pacotes ficou sem memória com 2 GB e compilou com 4 GB. Pode aumentar a partir do painel.
Quanto vai custar por mês?
Esse tamanho custa cerca de $6 por mês (IVA incluído) e, fora da Turquia, paga em dólares norte-americanos. O tráfego é ilimitado.
Tenho de transferir um domínio que comprei à Vercel?
Não. A documentação da Vercel trata o registo e o DNS como coisas separadas. Basta alterar o registo A na Vercel, e o seu registo sobrepõe-se aos predefinidos.
Como funcionam as atualizações depois da migração?
Com um webhook, o git push compila e publica cada versão. Se uma correr mal, a página Rollback do Coolify devolve-o a uma imagem anterior.
Posso migrar sem mudar a base de dados?
Sim, e é a ordem de menor risco. Mude primeiro a aplicação e a base de dados mais tarde.
Comentários0
Ainda não existem comentários
Seja a primeira pessoa a partilhar a sua opinião.
Inicie sessão ou crie uma conta para deixar um comentário.