Comment migrer un projet Replit vers votre propre serveur
Pour migrer un projet Replit vers votre propre serveur, téléchargez le code en zip ou poussez-le sur GitHub, récupérez séparément vos Secrets et votre base de données, reliez le code au panneau Coolify de votre serveur, et basculez votre domaine une fois que vous avez vu que tout marche. Le code est la partie facile. Le guide de Replit lui-même dit que la base de données et l'adresse web prennent le plus de temps.
L'ancien projet continue de tourner pendant tout ce temps. N'éteignez rien avant d'avoir tout testé sur le nouveau serveur.
Ce qui vient avec le code, et ce qui ne vient pas
| Élément | État | Ce qu'il faut faire |
|---|---|---|
| Code source | Vient avec | Zip ou GitHub |
.replit, replit.nix | Viennent avec, mais seul Replit les lit | Servez-vous-en pour connaître la commande de lancement et les paquets système |
| Secrets | Restent derrière | Saisissez les valeurs à la main sur le serveur |
| Base de données | Reste derrière | Exportez avec pg_dump et chargez sur le serveur |
| Fichiers App Storage | Restent derrière | Téléchargez-les et modifiez le code de stockage |
| Replit Auth | Lié aux comptes Replit | Passez à une autre méthode de connexion |
| Connecteurs | Restent derrière | Définissez la clé d'API de chaque service comme variable |
Comment récupérer le code ?
Via GitHub : dans le Project Editor, ouvrez Git depuis Tools. Sélectionnez Initialize Git Repository si besoin, connectez un dépôt, puis faites un commit et un push. Gardez-le privé. Nous recommandons cette voie car elle transporte aussi les modifications ultérieures.
En zip : dans le menu à trois points en haut de l'arborescence des fichiers, choisissez Download as zip. Si cela échoue, créez vous-même le zip dans le Shell, en laissant de côté le dossier .cache où Replit garde des valeurs secrètes en cache : zip -r project.zip . -x ".cache/*" "node_modules/*"
Pas à pas
- Commandez un serveur depuis la page VPS Next.js. Cette option est livrée avec Coolify : les projets Python et Node simples se déploient donc depuis le même panneau.
- Trouvez la commande de démarrage dans
.replitet le port dans votre code. La publication de Replit exige elle aussi d'écouter sur0.0.0.0, cette partie est donc généralement déjà faite. Les valeurs Flask que nous avons essayées sont le port5000etpython -m flask run --host=0.0.0.0 --port=5000. - Un projet Python a besoin que ses dépendances figurent dans
requirements.txtoupyproject.toml. Pour les paquets système listés dansreplit.nix, utilisez la variable de compilationRAILPACK_DEPLOY_APT_PACKAGES, même si les noms Nix et APT ne correspondent pas toujours. - Clonez le dépôt et ouvrez le dossier dans un outil de code comme Claude Code ou Cursor. Copiez la ligne Collez dans votre outil d'IA de l'onglet Vue d'ensemble de votre panneau Seturack et collez-la. L'outil s'occupe du déploiement, ou vous pouvez le faire à la main.
- Saisissez les valeurs de l'outil Secrets de Replit comme variables d'environnement sur le serveur, y compris les secrets de déploiement, que Replit garde séparément.
- Copiez une fois la base de données pour tester (voir plus bas) et testez l'application de bout en bout sur son adresse HTTPS.
- Mettez l'ancienne application hors ligne, copiez la base de données une dernière fois et faites pointer l'enregistrement A de votre domaine vers l'adresse IP du serveur. Le certificat est émis automatiquement.
Vous avez l'accès root, et vous pouvez tout gérer depuis le panneau si vous préférez.
Comment déplacer la base de données ?
La base de données de Replit est compatible PostgreSQL, et les outils sont prêts dans son Shell :
- Exportez-la dans le Shell de Replit :
pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump - Cette commande exporte la base de développement, alors que les données réelles se trouvent généralement en production. Dans l'outil Database, sélectionnez la base de production, copiez la chaîne de connexion depuis Settings et utilisez-la à la place de
"$DATABASE_URL". - Téléchargez
backup.dump. Gardez-le hors du dépôt, car il contient toutes vos données. - Créez PostgreSQL dans Coolify et téléversez le fichier avec Import backup sur la page Backups de la base de données.
- Définissez l'adresse interne de la base de données comme
DATABASE_URLdans l'application et déployez à nouveau.
Tout ce qui est écrit après l'exécution de pg_dump ne figure pas dans la copie, c'est pourquoi la copie finale se fait après l'arrêt de l'ancienne application.
Fichiers et connexion
Les buckets App Storage ne se déplacent pas : téléchargez donc les fichiers depuis l'outil de stockage de Replit. Si votre code utilise le SDK de Replit, cette partie doit changer. Le remplacement le plus simple consiste à écrire les fichiers dans un dossier du serveur et à le monter avec Persistent Storage dans Coolify.
Replit Auth fait se connecter vos utilisateurs avec des comptes Replit. Pour ne plus dépendre de Replit, vous aurez peut-être besoin d'une autre méthode de connexion. Votre outil de code peut réécrire cette partie, mais sauvegardez votre table d'utilisateurs et testez d'abord sur l'adresse temporaire.
Questions fréquentes
De quelle taille un projet Replit a-t-il besoin ?
La page de vente recommande au moins 4 Go de RAM, 2 vCores et 40 Go de disque, d'après les compilations Next.js : un projet de 85 paquets a échoué avec 2 Go et s'est compilé avec 4 Go. Prévoyez plus si la base de données partage le serveur, et augmentez la taille depuis votre panneau si nécessaire.
Combien cela coûtera-t-il par mois ?
La taille minimale recommandée coûte environ $6 par mois (TVA incluse), et hors de Turquie, vous payez en dollars américains. La sauvegarde quotidienne est incluse dans le prix et le trafic est illimité. Votre usage et votre abonnement Replit continuent jusqu'à ce que vous y mettiez fin.
Comment retirer mon domaine de Replit ?
Retirez le domaine sous Publishing, Domains dans Replit, faites pointer l'enregistrement A vers l'adresse IP du serveur, puis ajoutez-le avec https sur la page Domains de Coolify et déployez à nouveau.
Puis-je continuer à développer dans Replit ?
Oui. Activez la synchronisation automatique dans le volet Git pour que les modifications arrivent sur GitHub. Avec un webhook, le serveur recompile à chaque push. Sans webhook, appuyez sur Redeploy dans Coolify. N'oubliez pas que l'aperçu Replit et le serveur en ligne utilisent des bases de données différentes.
Puis-je laisser la base de données chez Replit ?
Vous pouvez essayer en donnant au serveur sa chaîne de connexion, mais votre application et vos données vivent alors séparément et votre facture Replit continue. Si vous déplacez vraiment l'application, il est plus propre de ramener la base de données sur le même serveur.
Commentaires0
Pas encore de commentaire
Soyez le premier à partager votre avis.
Veuillez vous connecter ou vous inscrire pour laisser un commentaire.