Πώς μεταφέρετε ένα έργο Replit στον δικό σας server
Για να μεταφέρετε ένα έργο Replit στον δικό σας server, κατεβάστε τον κώδικα ως zip ή κάντε push στο GitHub, μαζέψτε χωριστά τα Secrets και τη βάση δεδομένων, συνδέστε τον κώδικα με το πάνελ Coolify του server σας και αλλάξτε το domain αφού δείτε ότι δουλεύει. Ο κώδικας είναι το εύκολο μέρος. Ο οδηγός του ίδιου του Replit λέει ότι η βάση δεδομένων και η διεύθυνση web παίρνουν τον περισσότερο χρόνο.
Το παλιό έργο συνεχίζει να τρέχει σε όλη τη διάρκεια. Μην κλείσετε τίποτα μέχρι να δοκιμάσετε τα πάντα στον νέο server.
Τι έρχεται μαζί με τον κώδικα και τι όχι;
| Στοιχείο | Κατάσταση | Τι πρέπει να κάνετε |
|---|---|---|
| Πηγαίος κώδικας | Έρχεται μαζί | Zip ή GitHub |
.replit, replit.nix | Έρχονται μαζί, αλλά τα διαβάζει μόνο το Replit | Χρησιμοποιήστε τα για να μάθετε την εντολή εκτέλεσης και τα πακέτα συστήματος |
| Secrets | Μένουν πίσω | Εισαγάγετε τις τιμές στον server με το χέρι |
| Βάση δεδομένων | Μένει πίσω | Εξαγωγή με pg_dump και φόρτωση στον server |
| Αρχεία App Storage | Μένουν πίσω | Κατεβάστε τα και αλλάξτε τον κώδικα αποθήκευσης |
| Replit Auth | Συνδέεται με λογαριασμούς Replit | Περάστε σε άλλη μέθοδο σύνδεσης |
| Connectors | Μένουν πίσω | Ορίστε το κλειδί API κάθε υπηρεσίας ως μεταβλητή |
Πώς παίρνετε τον κώδικα;
Μέσω GitHub: Στο Project Editor, ανοίξτε το Git από τα Tools. Επιλέξτε Initialize Git Repository αν χρειάζεται, συνδέστε ένα repository και μετά κάντε commit και push. Κρατήστε το ιδιωτικό. Συνιστούμε αυτή τη διαδρομή γιατί μεταφέρει και τις μεταγενέστερες αλλαγές.
Ως zip: Από το μενού με τις τρεις τελείες στην κορυφή του δέντρου αρχείων, επιλέξτε Download as zip. Αν αποτύχει, φτιάξτε μόνοι σας το zip στο Shell, αφήνοντας έξω τον φάκελο .cache όπου το Replit κρατά αποθηκευμένες τιμές μυστικών: zip -r project.zip . -x ".cache/*" "node_modules/*"
Βήμα προς βήμα
- Παραγγείλετε έναν server από τη σελίδα Next.js VPS. Αυτή η επιλογή έρχεται με Coolify, οπότε έργα Python και απλά Node κάνουν deploy από το ίδιο πάνελ.
- Βρείτε την εντολή εκκίνησης στο
.replitκαι τη θύρα στον κώδικά σας. Και η δημοσίευση του ίδιου του Replit απαιτεί ακρόαση στο0.0.0.0, οπότε αυτό συνήθως έχει γίνει. Οι τιμές Flask που έχουμε δοκιμάσει είναι θύρα5000καιpython -m flask run --host=0.0.0.0 --port=5000. - Ένα έργο Python χρειάζεται τα dependencies του στο
requirements.txtή στοpyproject.toml. Για πακέτα συστήματος που αναφέρονται στοreplit.nix, χρησιμοποιήστε τη μεταβλητή buildRAILPACK_DEPLOY_APT_PACKAGES, αν και τα ονόματα Nix και APT δεν ταιριάζουν πάντα. - Κλωνοποιήστε το repository και ανοίξτε τον φάκελο σε εργαλείο κώδικα όπως το Claude Code ή το Cursor. Αντιγράψτε τη γραμμή Επικολλήστε το στο εργαλείο AI σας από την καρτέλα Επισκόπηση του πάνελ σας στο Seturack και επικολλήστε την. Το εργαλείο αναλαμβάνει το deployment, ή μπορείτε να το κάνετε με το χέρι.
- Εισαγάγετε τις τιμές από το εργαλείο Secrets του Replit ως μεταβλητές περιβάλλοντος στον server, μαζί με τα μυστικά του deployment, που το Replit κρατά ξεχωριστά.
- Αντιγράψτε τη βάση δεδομένων μία φορά για δοκιμή (δείτε παρακάτω) και δοκιμάστε την εφαρμογή από άκρη σε άκρη στη διεύθυνσή της HTTPS.
- Βγάλτε την παλιά εφαρμογή εκτός λειτουργίας, αντιγράψτε τη βάση δεδομένων μία τελευταία φορά και κατευθύνετε την εγγραφή A του domain σας στη διεύθυνση IP του server. Το πιστοποιητικό εκδίδεται αυτόματα.
Έχετε πρόσβαση root και μπορείτε να τα διαχειρίζεστε όλα από το πάνελ αν το προτιμάτε.
Πώς μεταφέρετε τη βάση δεδομένων;
Η βάση δεδομένων του Replit είναι συμβατή με PostgreSQL και τα εργαλεία είναι έτοιμα στο Shell του:
- Εξαγάγετέ την στο Shell του Replit:
pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump - Αυτή η εντολή εξάγει τη βάση ανάπτυξης, ενώ τα ζωντανά δεδομένα συνήθως βρίσκονται στην παραγωγή. Στο εργαλείο Database, επιλέξτε τη βάση παραγωγής, αντιγράψτε το connection string από τα Settings και χρησιμοποιήστε το στη θέση του
"$DATABASE_URL". - Κατεβάστε το
backup.dump. Κρατήστε το εκτός repository, γιατί περιέχει όλα τα δεδομένα σας. - Δημιουργήστε PostgreSQL στο Coolify και ανεβάστε το αρχείο με το Import backup στη σελίδα Backups της βάσης.
- Ορίστε την εσωτερική διεύθυνση της βάσης ως
DATABASE_URLστην εφαρμογή και κάντε ξανά deploy.
Ό,τι γράφεται μετά την εκτέλεση του pg_dump δεν υπάρχει στο αντίγραφο, γι' αυτό το τελικό αντίγραφο γίνεται αφού σταματήσετε την παλιά εφαρμογή.
Αρχεία και σύνδεση χρηστών
Τα buckets του App Storage δεν μετακινούνται, οπότε κατεβάστε τα αρχεία από το εργαλείο αποθήκευσης του Replit. Αν ο κώδικάς σας χρησιμοποιεί το SDK του Replit, αυτό το μέρος πρέπει να αλλάξει. Η πιο απλή αντικατάσταση είναι να γράφετε αρχεία σε έναν φάκελο στον server και να τον προσαρτάτε με το Persistent Storage στο Coolify.
Το Replit Auth κάνει τους χρήστες σας να συνδέονται με λογαριασμούς Replit. Για να πάψετε να εξαρτάστε από το Replit, μπορεί να χρειαστείτε άλλη μέθοδο σύνδεσης. Το εργαλείο κώδικα μπορεί να ξαναγράψει εκείνο το τμήμα, αλλά πάρτε πρώτα αντίγραφο του πίνακα χρηστών και δοκιμάστε στην προσωρινή διεύθυνση.
Συχνές ερωτήσεις
Τι μέγεθος χρειάζεται ένα έργο Replit;
Η σελίδα πώλησης προτείνει τουλάχιστον 4 GB RAM, 2 vCores και 40 GB δίσκο, με βάση τα builds Next.js: ένα έργο με 85 πακέτα απέτυχε στα 2 GB και χτίστηκε στα 4 GB. Υπολογίστε επιπλέον αν η βάση μοιράζεται τον server και αναβαθμίστε από το πάνελ σας αν χρειαστεί.
Πόσο θα κοστίζει τον μήνα;
Το συνιστώμενο ελάχιστο μέγεθος κοστίζει περίπου $6 τον μήνα (με ΦΠΑ) και εκτός Τουρκίας πληρώνετε σε δολάρια ΗΠΑ. Τα καθημερινά αντίγραφα ασφαλείας περιλαμβάνονται στην τιμή και η κίνηση δεδομένων είναι απεριόριστη. Η χρήση και η συνδρομή σας στο Replit συνεχίζονται μέχρι να τις κλείσετε.
Πώς μετακινώ το domain μου από το Replit;
Αφαιρέστε το domain από τα Publishing, Domains στο Replit, κατευθύνετε την εγγραφή A στη διεύθυνση IP του server και μετά προσθέστε το με https στη σελίδα Domains του Coolify και κάντε ξανά deploy.
Μπορώ να συνεχίσω την ανάπτυξη στο Replit;
Ναι. Ενεργοποιήστε το auto-sync στο πάνελ Git, ώστε οι αλλαγές να φτάνουν στο GitHub. Με webhook, ο server ξαναχτίζει σε κάθε push. Χωρίς webhook, πατήστε Redeploy στο Coolify. Θυμηθείτε ότι η προεπισκόπηση του Replit και ο ζωντανός server χρησιμοποιούν διαφορετικές βάσεις δεδομένων.
Μπορώ να αφήσω τη βάση δεδομένων στο Replit;
Μπορείτε να δοκιμάσετε δίνοντας στον server το connection string της, αλλά τότε η εφαρμογή και τα δεδομένα σας ζουν χωριστά και ο λογαριασμός σας στο Replit συνεχίζεται. Αν πραγματικά μεταφέρετε την εφαρμογή, είναι καθαρότερο να φέρετε τη βάση στον ίδιο server.
Σχόλια0
Δεν υπάρχουν ακόμη σχόλια
Μοιραστείτε πρώτοι τις σκέψεις σας.
Συνδεθείτε ή εγγραφείτε για να αφήσετε σχόλιο.