Como mover um projeto do Replit para o seu próprio servidor
Para mover um projeto do Replit para o seu próprio servidor, baixe o código como um zip ou envie-o ao GitHub, reúna os seus Secrets e o banco de dados separadamente, conecte o código ao painel Coolify do seu servidor e troque o seu domínio depois de ver tudo funcionando. O código é a parte fácil. O próprio guia do Replit diz que o banco de dados e o endereço web são o que mais toma tempo.
O projeto antigo continua rodando o tempo todo. Não desligue nada até testar tudo no novo servidor.
O que vai junto com o código e o que não vai?
| Parte | Situação | O que fazer |
|---|---|---|
| Código-fonte | Vai junto | Zip ou GitHub |
.replit, replit.nix | Vão junto, mas só o Replit os lê | Use-os para descobrir o comando de execução e os pacotes do sistema |
| Secrets | Ficam para trás | Informe os valores no servidor à mão |
| Banco de dados | Fica para trás | Exporte com pg_dump e carregue no servidor |
| Arquivos do App Storage | Ficam para trás | Baixe-os e altere o código de armazenamento |
| Replit Auth | Atrelado a contas do Replit | Troque por outro método de login |
| Conectores | Ficam para trás | Defina a chave de API de cada serviço como uma variável |
Como pegar o código?
Pelo GitHub: No Project Editor, abra Git em Tools. Selecione Initialize Git Repository se for preciso, conecte um repositório e faça o commit e o push. Mantenha-o privado. Recomendamos esse caminho porque ele leva também as mudanças posteriores.
Como um zip: No menu de três pontos no topo da árvore de arquivos, escolha Download as zip. Se falhar, monte o zip você mesmo no Shell, deixando de fora a pasta .cache, onde o Replit guarda valores secretos em cache: zip -r project.zip . -x ".cache/*" "node_modules/*"
Passo a passo
- Peça um servidor pela página do VPS Next.js. Essa opção vem com o Coolify, então projetos Python e Node simples são publicados pelo mesmo painel.
- Encontre o comando de inicialização no
.replite a porta no seu código. A publicação do próprio Replit também exige escutar em0.0.0.0, então essa parte geralmente já está feita. Os valores do Flask que testamos são a porta5000epython -m flask run --host=0.0.0.0 --port=5000. - Um projeto Python precisa das dependências em
requirements.txtoupyproject.toml. Para os pacotes do sistema listados emreplit.nix, use a variável de buildRAILPACK_DEPLOY_APT_PACKAGES, embora os nomes do Nix e do APT nem sempre coincidam. - Clone o repositório e abra a pasta em uma ferramenta de código como o Claude Code ou o Cursor. Copie a linha Cole na sua ferramenta de IA da aba Visão geral do seu painel da Seturack e cole nela. A ferramenta cuida da publicação, ou você pode fazer à mão.
- Informe os valores da ferramenta Secrets do Replit como variáveis de ambiente no servidor, incluindo os segredos de publicação, que o Replit guarda separadamente.
- Copie o banco de dados uma vez para teste (veja abaixo) e teste o app de ponta a ponta no endereço HTTPS dele.
- Tire o app antigo do ar, copie o banco de dados uma última vez e aponte o registro A do seu domínio para o endereço IP do servidor. O certificado é emitido automaticamente.
Você tem acesso root e pode gerenciar tudo pelo painel, se preferir.
Como mover o banco de dados?
O banco de dados do Replit é compatível com PostgreSQL, e as ferramentas já estão prontas no Shell dele:
- Exporte no Shell do Replit:
pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump - Esse comando exporta o banco de desenvolvimento, e os dados reais geralmente ficam na produção. Na ferramenta Database, selecione o banco de produção, copie a string de conexão em Settings e use-a no lugar de
"$DATABASE_URL". - Baixe o
backup.dump. Mantenha-o fora do repositório, porque ele contém todos os seus dados. - Crie um PostgreSQL no Coolify e envie o arquivo com Import backup na página Backups do banco de dados.
- Defina o endereço interno do banco de dados como
DATABASE_URLno app e publique de novo.
Tudo o que for gravado depois que o pg_dump rodar não está na cópia, e é por isso que a cópia final vem depois que você para o app antigo.
Arquivos e login
Os buckets do App Storage não se movem, então baixe os arquivos pela ferramenta de armazenamento do Replit. Se o seu código usa o SDK do Replit, essa parte precisa mudar. A substituição mais simples é gravar os arquivos em uma pasta do servidor e montá-la com Persistent Storage no Coolify.
O Replit Auth faz os seus usuários entrarem com contas do Replit. Para deixar de depender do Replit, talvez você precise de outro método de login. Sua ferramenta de código pode reescrever essa parte, mas faça backup da sua tabela de usuários e teste antes no endereço temporário.
Perguntas frequentes
De que tamanho um projeto do Replit precisa?
A página de vendas recomenda pelo menos 4 GB de RAM, 2 vCores e 40 GB de disco, com base em builds do Next.js: um projeto com 85 pacotes falhou com 2 GB e foi compilado com 4 GB. Reserve mais se o banco de dados dividir o servidor e aumente pelo seu painel se precisar.
Quanto vai custar por mês?
O tamanho mínimo recomendado custa cerca de $6 por mês (impostos incluídos), e fora da Turquia você paga em dólares americanos. Os backups diários estão incluídos no preço e o tráfego é ilimitado. O seu uso e a sua assinatura do Replit continuam até você encerrá-los.
Como tiro o meu domínio do Replit?
Remova o domínio em Publishing, Domains no Replit, aponte o registro A para o endereço IP do servidor, depois adicione-o com https na página Domains do Coolify e publique de novo.
Posso continuar desenvolvendo no Replit?
Sim. Ative a sincronização automática no painel Git para que as mudanças cheguem ao GitHub. Com um webhook, o servidor recompila a cada push. Sem um, clique em Redeploy no Coolify. Lembre-se de que a prévia do Replit e o servidor no ar usam bancos de dados diferentes.
Posso deixar o banco de dados no Replit?
Você pode tentar dando ao servidor a string de conexão, mas então o seu app e os seus dados ficam separados e a sua fatura do Replit continua. Se você realmente está mudando o app, é mais limpo trazer o banco de dados para o mesmo servidor.
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.