Como migrar um projeto Replit para o seu próprio servidor
Para migrar um projeto Replit para o seu próprio servidor, transfira o código como zip ou envie-o para o GitHub, reúna à parte os seus Secrets e a base de dados, ligue o código ao painel Coolify do seu servidor e mude o domínio depois de ver que funciona. O código é a parte fácil. O próprio guia do Replit diz que a base de dados e o endereço web são o que mais tempo levam.
O projeto antigo continua a funcionar durante todo o processo. Não desligue nada até ter testado tudo no novo servidor.
O que vem com o código e o que não vem?
| Parte | Estado | O que fazer |
|---|---|---|
| Código-fonte | Vem | Zip ou GitHub |
.replit, replit.nix | Vêm, mas só o Replit os lê | Use-os para saber o comando de execução e os pacotes de sistema |
| Secrets | Ficam para trás | Introduza os valores à mão no servidor |
| Base de dados | Fica para trás | Exporte com pg_dump e carregue no servidor |
| Ficheiros do App Storage | Ficam para trás | Transfira-os e altere o código de armazenamento |
| Replit Auth | Ligado às contas do Replit | Mude para outro método de início de sessão |
| Conectores | Ficam para trás | Defina a chave de API de cada serviço como variável |
Como obter o código?
Através do GitHub: no Project Editor, abra Git em Tools. Selecione Initialize Git Repository se for preciso, ligue um repositório e depois faça commit e push. Mantenha-o privado. Recomendamos este caminho porque leva também as alterações posteriores.
Como zip: no menu de três pontos no topo da árvore de ficheiros, escolha Download as zip. Se falhar, crie o zip por si na 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
- Encomende um servidor na página do VPS Next.js. Esta opção vem com o Coolify, por isso os projetos Python e Node simples são publicados a partir do mesmo painel.
- Encontre o comando de arranque em
.replite a porta no seu código. A publicação do próprio Replit também exige escutar em0.0.0.0, por isso essa parte costuma estar feita. Os valores do Flask que experimentámos são a porta5000epython -m flask run --host=0.0.0.0 --port=5000. - Um projeto Python precisa das suas dependências em
requirements.txtoupyproject.toml. Para os pacotes de sistema listados emreplit.nix, use a variável de compilaçãoRAILPACK_DEPLOY_APT_PACKAGES, embora os nomes do Nix e do APT nem sempre coincidam. - Clone o repositório e abra a pasta numa ferramenta de programação como o Claude Code ou o Cursor. Copie a linha Cole na sua ferramenta de IA do separador Resumo do seu painel da Seturack e cole-a. A ferramenta trata da publicação, ou pode fazê-lo à mão.
- Introduza os valores da ferramenta Secrets do Replit como variáveis de ambiente no servidor, incluindo os segredos de publicação, que o Replit guarda à parte.
- Copie a base de dados uma vez para teste (veja abaixo) e teste a aplicação de ponta a ponta no seu endereço HTTPS.
- Ponha a aplicação antiga fora do ar, copie a base de dados uma última vez e aponte o registo A do seu domínio para o endereço IP do servidor. O certificado é emitido automaticamente.
Tem acesso root, e pode gerir tudo a partir do painel se preferir.
Como mover a base de dados?
A base de dados do Replit é compatível com PostgreSQL, e as ferramentas estão prontas na sua Shell:
- Exporte-a na Shell do Replit:
pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump - Esse comando exporta a base de dados de desenvolvimento, e os dados reais costumam estar em produção. Na ferramenta Database, selecione a base de dados de produção, copie a cadeia de ligação em Settings e use-a no lugar de
"$DATABASE_URL". - Transfira o
backup.dump. Mantenha-o fora do repositório, porque contém todos os seus dados. - Crie o PostgreSQL no Coolify e carregue o ficheiro com Import backup na página Backups da base de dados.
- Defina o endereço interno da base de dados como
DATABASE_URLna aplicação e publique de novo.
Tudo o que for escrito depois de o pg_dump correr não está na cópia, e é por isso que a cópia final vem depois de parar a aplicação antiga.
Ficheiros e início de sessão
Os buckets do App Storage não se movem, por isso transfira os ficheiros a partir da ferramenta de armazenamento do Replit. Se o seu código usa o SDK do Replit, essa parte tem de mudar. A substituição mais simples é gravar os ficheiros numa pasta do servidor e montá-la com Persistent Storage no Coolify.
O Replit Auth faz os seus utilizadores iniciarem sessão com contas do Replit. Para deixar de depender do Replit, pode ser preciso outro método de início de sessão. A sua ferramenta de programação pode reescrever essa secção, mas faça uma cópia de segurança da sua tabela de utilizadores e teste primeiro no endereço temporário.
Perguntas frequentes
Que tamanho precisa um projeto Replit?
A página de vendas recomenda pelo menos 4 GB de RAM, 2 vCores e 40 GB de disco, com base nas compilações do Next.js: um projeto com 85 pacotes falhou com 2 GB e compilou com 4 GB. Conte com mais se a base de dados partilhar o servidor, e aumente a partir do painel se precisar.
Quanto vai custar por mês?
O tamanho mínimo recomendado custa cerca de $6 por mês (IVA incluído) e, fora da Turquia, paga em dólares norte-americanos. As cópias de segurança diárias estão incluídas no preço e o tráfego é ilimitado. A sua utilização e subscrição do Replit continuam até as encerrar.
Como tiro o meu domínio do Replit?
Remova o domínio em Publishing, Domains no Replit, aponte o registo A para o endereço IP do servidor e depois adicione-o com https na página Domains do Coolify e publique de novo.
Posso continuar a desenvolver no Replit?
Sim. Ative a sincronização automática no painel Git para que as alterações cheguem ao GitHub. Com um webhook, o servidor recompila a cada push. Sem webhook, prima Redeploy no Coolify. Lembre-se de que a pré-visualização do Replit e o servidor em produção usam bases de dados diferentes.
Posso deixar a base de dados no Replit?
Pode tentar dando ao servidor a respetiva cadeia de ligação, mas a aplicação e os dados passam a viver separados e a sua fatura do Replit continua. Se está mesmo a mudar a aplicação, é mais limpo trazer a base de dados para o mesmo servidor.
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.