المدونة

دروس وأدلة وأخبار المنتج.

المطورون

نقل تطبيق Next.js من Vercel إلى خادمك

2 نوفمبر 2026 5 د للقراءة
مشاركة هذه المقالة

لنقل تطبيق Next.js من Vercel إلى خادمك، اربط مستودع GitHub نفسه بلوحة Coolify على الخادم، وانسخ متغيرات البيئة، واستبدل الأجزاء الخاصة بـ Vercel (cron والتحليلات والتخزين)، واختبر على عنوان مؤقت، وحوّل سجل A لنطاقك في الأخير. وتقول وثائق Next.js إن كل الميزات تعمل على خادم Node.js. ويبقى نشرك على Vercel قائمًا حتى تحوّل، فلديك طريق للعودة.

الأمر في حقيقته اختيار لنموذج الفوترة. تشرح وثائق Vercel أن البنية التحتية تُحاسَب بحسب البيانات المنقولة والطلبات ومدة الحوسبة. أما الخادم فبرسم شهري ثابت للـ RAM وCPU والقرص التي تختارها. ويبيّن مقارنتنا كيف تحسب أرقامك أنت.

ما الذي يتغير عند النقل؟

الموضوعVercelخادمك
الفوترةبحسب الاستخدامشهرية ثابتة، وترافيك غير محدود، ونسخ احتياطية يومية مشمولة في السعر
الموقعشبكة توصيل عالميةخادم واحد في إسطنبول
قفزات الحركةتمتصها المنصة وتكبر الفاتورةيبطؤ الموقع حين تنفد السعة، وأنت ترفع الحجم
عمليات البناءعلى أجهزة المنصةعلى الخادم نفسه، فالبناء يحدد الذاكرة التي تحتاجها
الصيانةعمل المنصةتحديثات نظام التشغيل والحزم والمراقبة عليك، وصلاحية root لك
المعايناتتلقائية للفروعتُفعَّل على حدة في Coolify
أمان الشبكةVercel Firewallتدير جدار حماية الخادم بنفسك

بصراحة: هناك خادم واحد، ولا توصيل حافّي عالمي، وتصبح الصيانة عليك. من لن يهتم؟ إذا كان زوارك في تركيا والبلدان المجاورة في الغالب فموقع واحد كافٍ. وإذا كانت صفحاتك كلها تقرأ من قاعدة بيانات واحدة فإن الاستجابات تنتظر تلك القاعدة أينما عملت الشيفرة. ونادرًا ما تحتاج لوحات المعلومات والأدوات الداخلية والمنتجات ذات الحركة المتوقعة إلى توسيع تلقائي. أما إذا كان جمهورك منتشرًا في العالم، أو ترتفع حركتك ارتفاعًا حادًا، أو لا تريد أن تلمس الصيانة إطلاقًا، فقد يكون Vercel أنسب.

جهّز الخادم الجديد

  1. اطلب من صفحة Next.js VPS. يأتي الخادم مع Coolify.
  2. اربط المستودع. الطريق المختصر: افتح المشروع في Claude Code أو Cursor، والصق صف الصقه في أداة الذكاء الاصطناعي من تبويب نظرة عامة، وتتولى الأداة النشر. ويمكنك أيضًا فعل ذلك يدويًا.
  3. ثبّت إصدار Node بـ engines.node في package.json.
  4. اسحب متغيراتك: vercel env pull .env.move --environment=production. لا يمكن قراءة قيم الأسرار مرة أخرى، فيكتب CLI قيمًا مؤقتة وتحصل أنت على الحقيقية من مصدرها. أبقِ الملف خارج المستودع وأدخل محتواه تحت Environment Variables في Coolify، مع إبقاء قيم NEXT_PUBLIC_ متاحة وقت البناء.
  5. ابحث عن الشيفرة الخاصة بـ Vercel: grep -n "@vercel/" package.json وgrep -rnE "VERCEL_|x-vercel-" app src. متغيرات النظام مثل VERCEL_URL غير موجودة على خادمك، فاستخدم متغيراتك أنت.

ميزات Next.js والأجزاء الخاصة بـ Vercel

الجزءعلى خادمكما العمل
تحسين الصوريعمل مع next start بلا إعداديستخدم CPU والذاكرة في خادمك
ISR والتخزين المؤقتيعملان من تلقاء نفسيهما على نسخة واحدة بقرص محلييجب أن تتشارك عدة نسخ الذاكرة المؤقتة، وتمتلئ من جديد بعد كل نشر
Middleware (وهو Proxy في Next.js 16)يعمل مع next start بلا إعدادتُعالَج الطلبات الآن في إسطنبول
مهام cronلا يُقرأ vercel.jsonاستدعِ المسار نفسه من Scheduled Tasks في Coolify: curl -fsS -H "Authorization: Bearer $CRON_SECRET" http://localhost:3000/api/cron. يعمل cron في Vercel بتوقيت UTC، بينما يستخدم Coolify المنطقة الزمنية للخادم
إعادة التوجيه والترويساتلا يُقرأ vercel.jsonانقلها إلى next.config
Web Analytics وSpeed Insightsتعتمد على مسارات يضيفها Vercel إلى النشرأزل المكوّنات واستخدم أداة مثل Umami
AI Gatewayيمكن استدعاؤه من أي خادماضبط AI_GATEWAY_API_KEY

وماذا عن Postgres وKV وBlob؟

  • Postgres وKV: تقول وثائق Vercel إن هذين المنتجين انتهيا وإن قواعد البيانات الأقدم انتقلت إلى مزودي Marketplace، فبياناتك لدى مزوّد منفصل خلف متغير بيئة. انقل ذلك المتغير فيصل التطبيق إلى قاعدة البيانات نفسها. وإذا كانت الفوترة تمر عبر حسابك في Vercel فخذ بياناتك قبل إغلاقه. وقاعدة بيانات بعيدة تضيف هذه المسافة إلى كل استعلام.
  • نقلها إلى خادمك: أنشئ PostgreSQL في Coolify، وصدّر بـ pg_dump -Fc "OLD-DATABASE-URL" --no-owner --no-privileges -f backup.dump، وارفع الأرشيف بـ Import backup في صفحة Backups الخاصة بقاعدة البيانات. وإذا كان Redis مجرد ذاكرة مؤقتة فالبدء فارغًا لا بأس به عادةً.
  • Blob: BLOB_READ_WRITE_TOKEN يعمل من مضيف آخر أيضًا، فيمكنك تركه كما هو. ولجلب الملفات إلى خادمك غيّر الشيفرة وركّب المجلد بـ Persistent Storage.

تحويل نطاقك دون توقف

  1. اختبر على عنوان HTTPS الذي يعطيك إياه Coolify: تسجيل الدخول والنماذج والمدفوعات والصور، وExecute now لمهام cron.
  2. يعرض dig NS example.com +short أين توجد سجلاتك: في صفحة Domains في Vercel إذا كانت تسرد خوادم أسماء Vercel، وإلا لدى مزوّد DNS لديك.
  3. خفّض TTL على سجلي الجذر وwww، إلى 300 ثانية مثلًا، وانتظر حتى تمر مدة TTL القديمة.
  4. إذا كانت قاعدة البيانات تنتقل أيضًا فأوقف الكتابة وحمّل النسخة الأخيرة.
  5. وجّه سجل A إلى عنوان IP للخادم. واترك سجلات MX وTXT كما هي من أجل البريد.
  6. أضف النطاق مع https في صفحة Domains في Coolify واضغط Redeploy. وتصدر الشهادة تلقائيًا.
  7. أبقِ نشر Vercel قائمًا بضعة أيام. فالزوار الذين لديهم السجل القديم في الذاكرة المؤقتة يصلون إليه، ويمكنك إعادة توجيه السجل إن لزم.
  8. بعد أن تنتقل الحركة، أزل النطاق من مشروع Vercel، واقطع ارتباط Git بـ Disconnect، وأعد TTL إلى قيمته.

لا تصدر الشهادة إلا بعد أن يشير النطاق إلى الخادم، فقد يرى الزوار الأوائل تحذير شهادة قصيرًا. فبدّل في ساعة هادئة.

الأسئلة الشائعة

بأي حجم أبدأ؟

توصي صفحة البيع بـ 4 GB من RAM على الأقل و2 vCore و40 GB من القرص. بُني مشروع صغير على 2 GB، أما مشروع فيه 85 حزمة فنفدت ذاكرته عند 2 GB وبُني عند 4 GB. ويمكنك رفع الحجم من لوحتك.

كم ستكلف شهريًا؟

سعر هذا الحجم نحو $6 شهريًا (شاملًا ضريبة القيمة المضافة)، ومن خارج تركيا تدفع بالدولار الأمريكي. الترافيك غير محدود.

هل يجب أن أنقل نطاقًا اشتريته من Vercel؟

لا. تعامل وثائق Vercel التسجيل وDNS على أنهما منفصلان. ويكفي تغيير سجل A في Vercel، ويتغلب سجلك على السجلات الافتراضية.

كيف تعمل التحديثات بعد النقل؟

مع webhook يبني git push كل نسخة وينشرها. وإذا ساءت إحداها فإن صفحة Rollback في Coolify تعيدك إلى صورة سابقة.

هل أستطيع النقل دون نقل قاعدة البيانات؟

نعم، وهو الترتيب الأقل مخاطرة. انقل التطبيق أولًا وقاعدة البيانات لاحقًا.

جاهز على Seturack: Next.js, Coolify.

التعليقات0

لا توجد تعليقات بعد

كن أول من يشارك رأيه.

الانضمام إلى النقاش

يرجى تسجيل الدخول أو إنشاء حساب لترك تعليق.

لا تفوت أي مقالة

تلق أحدث الشروحات والأدلة وأخبار منتجاتنا في بريدك الوارد.

تم اشتراكك في نشرتنا البريدية.