كيف تنقل مشروع Replit إلى خادمك
لنقل مشروع Replit إلى خادمك، نزّل الشيفرة بصيغة zip أو ادفعها إلى GitHub، واجمع Secrets وقاعدة البيانات على حدة، واربط الشيفرة بلوحة Coolify على خادمك، وبدّل نطاقك بعد أن ترى أنها تعمل. الشيفرة هي الجزء السهل. ودليل Replit نفسه يقول إن قاعدة البيانات وعنوان الويب يأخذان أكبر وقت.
يبقى المشروع القديم يعمل طوال الوقت. لا توقف شيئًا حتى تختبر كل شيء على الخادم الجديد.
ما الذي يأتي مع الشيفرة وما الذي لا يأتي؟
| الجزء | الحالة | ما العمل |
|---|---|---|
| الشيفرة المصدرية | تأتي معك | zip أو GitHub |
.replit وreplit.nix | يأتيان معك، لكن Replit وحده يقرؤهما | استخدمهما لمعرفة أمر التشغيل وحزم النظام |
| Secrets | تبقى خلفك | أدخل القيم على الخادم يدويًا |
| قاعدة البيانات | تبقى خلفك | صدّرها بـ pg_dump وحمّلها على الخادم |
| ملفات App Storage | تبقى خلفك | نزّلها وغيّر شيفرة التخزين |
| Replit Auth | مرتبط بحسابات Replit | انتقل إلى طريقة تسجيل دخول أخرى |
| Connectors | تبقى خلفك | اضبط مفتاح API لكل خدمة كمتغير |
كيف تحصل على الشيفرة؟
عبر GitHub: في Project Editor افتح Git من Tools. اختر Initialize Git Repository إن لزم، واربط مستودعًا، ثم نفّذ commit وpush. اجعله خاصًا. ننصح بهذا الطريق لأنه ينقل التغييرات اللاحقة أيضًا.
بصيغة zip: من قائمة النقاط الثلاث أعلى شجرة الملفات اختر Download as zip. وإن فشل ذلك فابنِ ملف zip بنفسك في Shell، مستثنيًا مجلد .cache الذي يحتفظ فيه Replit بقيم الأسرار المخزنة مؤقتًا: zip -r project.zip . -x ".cache/*" "node_modules/*"
خطوة بخطوة
- اطلب خادمًا من صفحة Next.js VPS. يأتي هذا الخيار مع Coolify، فتُنشر مشاريع Python وNode العادية من اللوحة نفسها.
- اعثر على أمر البدء في
.replitوعلى المنفذ في شيفرتك. ويتطلب نشر Replit نفسه الاستماع على0.0.0.0أيضًا، فهذا الجزء منجز عادةً. وقيم Flask التي جرّبناها هي المنفذ5000والأمرpython -m flask run --host=0.0.0.0 --port=5000. - يحتاج مشروع Python إلى اعتمادياته في
requirements.txtأوpyproject.toml. أما حزم النظام المذكورة فيreplit.nixفاستخدم لها متغير البناءRAILPACK_DEPLOY_APT_PACKAGES، مع أن أسماء Nix وAPT لا تتطابق دائمًا. - انسخ المستودع (clone) وافتح المجلد في أداة برمجة مثل Claude Code أو Cursor. انسخ صف الصقه في أداة الذكاء الاصطناعي من تبويب نظرة عامة في لوحة Seturack والصقه. تتولى الأداة النشر، أو يمكنك فعل ذلك يدويًا.
- أدخل القيم من أداة Secrets في Replit كمتغيرات بيئة على الخادم، بما فيها أسرار النشر التي يحتفظ بها Replit على حدة.
- انسخ قاعدة البيانات مرة للاختبار (انظر أدناه) واختبر التطبيق من أوله إلى آخره على عنوان HTTPS الخاص به.
- أوقف التطبيق القديم، وانسخ قاعدة البيانات مرة أخيرة، ووجّه سجل A لنطاقك إلى عنوان IP للخادم. وتصدر الشهادة تلقائيًا.
صلاحية root لك، ويمكنك إدارة كل شيء من اللوحة إن فضّلت.
كيف تنقل قاعدة البيانات؟
قاعدة بيانات Replit متوافقة مع PostgreSQL، وأدواتها جاهزة في Shell:
- صدّرها في Shell الخاص بـ Replit:
pg_dump -Fc "$DATABASE_URL" --no-owner --no-privileges -f backup.dump - يصدّر هذا الأمر قاعدة بيانات التطوير، أما البيانات الحية فتكون عادةً في الإنتاج. في أداة Database اختر قاعدة بيانات الإنتاج، وانسخ سلسلة الاتصال من Settings واستخدمها بدل
"$DATABASE_URL". - نزّل
backup.dump. وأبقه خارج المستودع، لأنه يحمل كل بياناتك. - أنشئ PostgreSQL في Coolify وارفع الملف بـ Import backup في صفحة Backups الخاصة بقاعدة البيانات.
- اضبط العنوان الداخلي لقاعدة البيانات باسم
DATABASE_URLفي التطبيق وانشر من جديد.
كل ما يُكتب بعد تشغيل pg_dump ليس في النسخة، ولهذا تأتي النسخة الأخيرة بعد أن توقف التطبيق القديم.
الملفات وتسجيل الدخول
لا تنتقل حاويات App Storage، فنزّل الملفات من أداة التخزين في Replit. وإذا كانت شيفرتك تستخدم SDK الخاص بـ Replit فيجب تغيير ذلك الجزء. وأبسط بديل هو كتابة الملفات في مجلد على الخادم وتركيبه بـ Persistent Storage في Coolify.
يجعل Replit Auth مستخدميك يسجّلون الدخول بحسابات Replit. وكي لا تعتمد على Replit قد تحتاج إلى طريقة تسجيل دخول أخرى. تستطيع أداة البرمجة إعادة كتابة ذلك القسم، لكن انسخ جدول المستخدمين احتياطيًا واختبر على العنوان المؤقت أولًا.
الأسئلة الشائعة
ما الحجم الذي يحتاجه مشروع Replit؟
توصي صفحة البيع بـ 4 GB من RAM على الأقل و2 vCore و40 GB من القرص، استنادًا إلى عمليات بناء Next.js: فشل مشروع فيه 85 حزمة عند 2 GB وبُني عند 4 GB. أضف مزيدًا إذا كانت قاعدة البيانات تشارك الخادم، وارفع الحجم من لوحتك إن احتجت.
كم ستكلف شهريًا؟
سعر الحجم الأدنى الموصى به نحو $6 شهريًا (شاملًا ضريبة القيمة المضافة)، ومن خارج تركيا تدفع بالدولار الأمريكي. النسخ الاحتياطية اليومية مشمولة في السعر والترافيك غير محدود. ويستمر استخدامك لـ Replit واشتراكك فيه حتى تُنهيهما.
كيف أنقل نطاقي بعيدًا عن Replit؟
أزل النطاق من Publishing ثم Domains في Replit، ثم وجّه سجل A إلى عنوان IP للخادم، ثم أضفه بـ https في صفحة Domains في Coolify وانشر من جديد.
هل أستطيع مواصلة التطوير في Replit؟
نعم. فعّل المزامنة التلقائية في لوحة Git لتصل التغييرات إلى GitHub. ومع webhook يعيد الخادم البناء مع كل push. وبدونه اضغط Redeploy في Coolify. وتذكّر أن معاينة Replit والخادم الحي يستخدمان قاعدتي بيانات مختلفتين.
هل أستطيع ترك قاعدة البيانات على Replit؟
يمكنك المحاولة بإعطاء الخادم سلسلة اتصالها، لكن عندئذ يعيش تطبيقك وبياناتك منفصلين وتستمر فاتورة Replit. وإذا كنت تنقل التطبيق فعلًا فالأنظف أن تجلب قاعدة البيانات إلى الخادم نفسه.
التعليقات0
لا توجد تعليقات بعد
كن أول من يشارك رأيه.
يرجى تسجيل الدخول أو إنشاء حساب لترك تعليق.