Come spostare un progetto Replit sul tuo server
Per spostare un progetto Replit sul tuo server, scarica il codice come zip oppure fai il push su GitHub, raccogli a parte i tuoi Secrets e il database, collega il codice al pannello Coolify sul tuo server e cambia il dominio quando hai visto che funziona. Il codice è la parte facile. La guida di Replit stessa dice che database e indirizzo web richiedono più tempo.
Il vecchio progetto continua a girare per tutto il tempo. Non spegnere nulla finché non hai provato tutto sul nuovo server.
Cosa viaggia con il codice e cosa no?
| Parte | Stato | Cosa fare |
|---|---|---|
| Codice sorgente | Viaggia con il codice | Zip o GitHub |
.replit, replit.nix | Viaggiano con il codice, ma li legge solo Replit | Usali per ricavare il comando di avvio e i pacchetti di sistema |
| Secrets | Restano indietro | Inserisci i valori a mano sul server |
| Database | Resta indietro | Esporta con pg_dump e caricalo sul server |
| File di App Storage | Restano indietro | Scaricali e cambia il codice di archiviazione |
| Replit Auth | Legato agli account Replit | Passa a un altro metodo di accesso |
| Connettori | Restano indietro | Imposta la chiave API di ogni servizio come variabile |
Come si ottiene il codice?
Tramite GitHub: nel Project Editor apri Git da Tools. Se serve, seleziona Initialize Git Repository, collega un repository, poi fai commit e push. Tienilo privato. Consigliamo questa strada perché porta con sé anche le modifiche successive.
Come zip: dal menu a tre puntini in cima all'albero dei file scegli Download as zip. Se non funziona, crea lo zip da te nella Shell, escludendo la cartella .cache dove Replit tiene i valori segreti in cache: zip -r project.zip . -x ".cache/*" "node_modules/*"
Passo dopo passo
- Ordina un server dalla pagina Next.js VPS. Questa opzione include Coolify, quindi i progetti Python e Node semplici si pubblicano dallo stesso pannello.
- Trova il comando di avvio in
.replite la porta nel tuo codice. Anche la pubblicazione di Replit richiede di ascoltare su0.0.0.0, quindi di solito questa parte è già fatta. I valori Flask che abbiamo provato sono la porta5000epython -m flask run --host=0.0.0.0 --port=5000. - Un progetto Python ha bisogno delle sue dipendenze in
requirements.txtopyproject.toml. Per i pacchetti di sistema elencati inreplit.nix, usa la variabile di buildRAILPACK_DEPLOY_APT_PACKAGES, anche se i nomi di Nix e APT non sempre coincidono. - Clona il repository e apri la cartella in uno strumento di codice come Claude Code o Cursor. Copia la riga Incolla nel tuo strumento di IA dalla scheda Panoramica del tuo pannello Seturack e incollala. Lo strumento si occupa della pubblicazione, oppure puoi farlo a mano.
- Inserisci come variabili d'ambiente sul server i valori dello strumento Secrets di Replit, compresi i segreti di pubblicazione, che Replit tiene a parte.
- Copia il database una volta per provare (vedi sotto) e prova l'app da cima a fondo sul suo indirizzo HTTPS.
- Metti offline la vecchia app, copia il database un'ultima volta e fai puntare il record A del tuo dominio all'indirizzo IP del server. Il certificato viene emesso in automatico.
Hai l'accesso root e, se preferisci, puoi gestire tutto dal pannello.
Come si sposta il database?
Il database di Replit è compatibile con PostgreSQL e gli strumenti sono pronti nella sua Shell:
- Esportalo nella Shell di Replit:
pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump - Quel comando esporta il database di sviluppo, mentre i dati reali di solito stanno in produzione. Nello strumento Database seleziona il database di produzione, copia la stringa di connessione da Settings e usala al posto di
"$DATABASE_URL". - Scarica
backup.dump. Tienilo fuori dal repository, perché contiene tutti i tuoi dati. - Crea PostgreSQL in Coolify e carica il file con Import backup nella pagina Backups del database.
- Imposta l'indirizzo interno del database come
DATABASE_URLnell'app e pubblica di nuovo.
Tutto ciò che viene scritto dopo l'esecuzione di pg_dump non è nella copia, ed è per questo che la copia finale va fatta dopo aver fermato la vecchia app.
File e accesso
I bucket di App Storage non si spostano, quindi scarica i file dallo strumento di archiviazione di Replit. Se il tuo codice usa l'SDK di Replit, quella parte va cambiata. La sostituzione più semplice è scrivere i file in una cartella sul server e montarla con Persistent Storage in Coolify.
Replit Auth fa accedere i tuoi utenti con account Replit. Per smettere di dipendere da Replit, potresti aver bisogno di un altro metodo di accesso. Il tuo strumento di codice può riscrivere quella sezione, ma fai prima un backup della tua tabella utenti e prova sull'indirizzo temporaneo.
Domande frequenti
Che dimensione serve a un progetto Replit?
La pagina di vendita consiglia almeno 4 GB di RAM, 2 vCore e 40 GB di disco, in base alle compilazioni di Next.js: un progetto con 85 pacchetti è fallito a 2 GB ed è stato compilato a 4 GB. Calcola un margine in più se il database condivide il server e, se serve, ingrandisci dal tuo pannello.
Quanto costerà al mese?
La dimensione minima consigliata costa circa $6 al mese (IVA inclusa) e fuori dalla Turchia paghi in dollari statunitensi. I backup giornalieri sono compresi nel prezzo e il traffico è illimitato. L'uso e l'abbonamento a Replit continuano finché non li chiudi.
Come tolgo il mio dominio da Replit?
Rimuovi il dominio in Publishing, Domains in Replit, fai puntare il record A all'indirizzo IP del server, poi aggiungilo con https nella pagina Domains di Coolify e pubblica di nuovo.
Posso continuare a sviluppare in Replit?
Sì. Attiva la sincronizzazione automatica nel pannello Git perché le modifiche arrivino su GitHub. Con un webhook, il server ricompila a ogni push. Senza webhook, premi Redeploy in Coolify. Ricorda che l'anteprima di Replit e il server online usano database diversi.
Posso lasciare il database su Replit?
Puoi provare dando al server la sua stringa di connessione, ma allora app e dati vivono separati e la tua fattura Replit continua. Se stai davvero spostando l'app, è più pulito portare il database sullo stesso server.
Commenti0
Ancora nessun commento
Condividi per primo la tua opinione.
Accedi o registrati per lasciare un commento.