دليل عملي

النشر

الهجرة من Oracle Always Free ARM إلى ‎VPS: دليل شامل

خفّضت ‎Oracle موارد عرض ‎Always Free ARM إلى النصف: من 4 ‎vCPU و24 ‎غيغابايت من الذاكرة إلى 2 ‎vCPU و12 ‎غيغابايت، بحسب وثائقها الرسمية. إذا كنت تستضيف ‎Coolify أو ‎n8n أو ‎Nextcloud أو ‎Immich أو أي خدمة أخرى على هذه البنية التحتية، فقد تقع حزمتك دون الحدود الدنيا الموصى بها من قِبل الموردين. يشرح هذا الدليل كيفية التخطيط لعملية الهجرة وتنفيذها نحو ‎VPS بموارد محدّدة لكل عرض، خطوة بخطوة.

11 دقيقةً للقراءةعدد الخطوات: 14
المحتويات· لماذا لم يعد Oracle Always Free أساسًا موثوقًا1/9
  1. 01لماذا لم يعد Oracle Always Free أساسًا موثوقًا
  2. 02ما يقدّمه VPS المدفوع مقارنةً بالمستوى المجاني
  3. 03التطبيقات المتأثرة بالتقليص
  4. 04المتطلبات الأساسية قبل الهجرة
  5. 05تصدير حزمة Docker وإعادة إنشائها
  6. 06إعادة نشر Coolify على VPS الجديد
  7. 07نقاط الانتباه بعد الهجرة
  8. 08استكشاف الأخطاء الشائعة
  9. 09Oracle Always Free ARM مقابل VPS المدفوع: مقارنة

لماذا لم يعد Oracle Always Free أساسًا موثوقًا

قلّصت ‎Oracle عرض ‎Always Free ARM: لم تعد وثائقها تمنح سوى 1500 ساعة ‎OCPU و9000 غيغابايت-ساعة من الذاكرة شهريًا، أي 2 ‎vCPU و12 ‎غيغابايت، مقابل 4 ‎vCPU و24 ‎غيغابايت سابقًا. علاوة على ذلك، ظلّ العرض المجاني من ‎Oracle يحمل دائمًا مخاطر هيكلية يعرفها مستخدموه جيدًا: إعادة تشغيل غير مخطط لها للنسخ، وانقطاعات خلال فترات صيانة المناطق، وغياب أي اتفاقية مستوى خدمة على الموارد المخصصة. وتستطيع ‎Oracle أيضًا استرداد النسخ المجانية التي تعدّها خاملة: أقل من 20 % من استخدام المعالج (المئين 95) والشبكة، والذاكرة في نسخ ‎ARM، طوال سبعة أيام. بالنسبة لخدمة إنتاجية — سواء كانت لوحة ‎n8n أو نسخة ‎Nextcloud مشتركة عائليًا أو لوحة ‎Coolify تدير عمليات نشرك — يمثّل هذا الغموض خطرًا تشغيليًا حقيقيًا. يقدّم ‎VPS المدفوع شهريًا رسومًا ثابتة قابلة للتوقع وعنوان ‎IPv4 مخصصًا ووصولًا كاملًا كـ ‎root وموارد غير قابلة لإعادة التوزيع على مستأجر آخر. التكلفة ليست صفرًا، لكنّها معروفة مسبقًا ولا تعتمد على سياسة يمكن للمورد تغييرها من جانب واحد.

ما يقدّمه VPS المدفوع مقارنةً بالمستوى المجاني

  • موارد مخصّصة — ‎vCPU وذاكرة رام مخصّصة لنسختك بموجب العقد، لا يستردها المزوّد لمجرد أنها قليلة الاستخدام.
  • عنوان IPv4 مخصص — عنوان عام ثابت دون ‎NAT مشترك، ضروري لسجلات ‎DNS مستقرة وخطافات الويب الواردة.
  • وصول root كامل — تثبّت وتضبط ما تشاء دون قائمة بيضاء للمنافذ أو قيود على البروتوكولات.
  • نطاق ترددي قابل للتوقع — حجم شهري محدد بوضوح، دون فواتير مفاجئة لكل غيغابايت تتجاوز حدًا مخفيًا.
  • الدعم — في حال عطل عتادي، تتدخّل الشركة المزوّدة لإعادة الخدمة، في إطار التزام ببذل عناية.
  • تكلفة ثابتة — ابتداءً من ‎99 درهم/شهر في الصيغة الشهرية، الميزانية معروفة مسبقًا ولا تتغيّر بحسب الاستخدام الفعلي.
  • بدون التزام طويل الأمد — لا توقيع على عقد سنوي: يمكن إلغاء عروض ‎VPS السحابي في أي وقت.

التطبيقات المتأثرة بالتقليص

مع 2 ‎vCPU و12 ‎غيغابايت، قد تبدو الحدود الجديدة لـ ‎Oracle مريحة على الورق. في الواقع، أكثر التطبيقات المستضافة ذاتيًا شيوعًا لها متطلبات دنيا تتراكم فور دمج عدة تطبيقات. يتطلّب ‎Coolify على الأقل 2 ‎vCPU و2 ‎غيغابايت لعمليات البناء والنشر الخاصة به. تقول ‎n8n إنها لا تستهلك المعالج كثيرًا، لكن ذاكرتها تزداد مع حجم البيانات المعالجة: تذكر وثائقها، على سبيل المثال، من 320 ميغابايت إلى 2 ‎غيغابايت. يحتاج ‎Nextcloud إلى 128 ميغابايت من الذاكرة على الأقل لكل عملية ويوصي بـ 512 ميغابايت، لكن عمليات مزامنة الملفات جائعة للمعالج والإدخال/الإخراج مع ازدياد العملاء النشطين. أما ‎Immich مدير الصور فيشترط 6 ‎غيغابايت على الأقل ويوصي بـ 8، ويعود ذلك في جزء كبير منه إلى خط أنابيب التعلّم الآلي للتعرف على الصور — دون ذلك يتوقف عمال الذكاء الاصطناعي أو ينهار صامتًا. إذا شغّلت اثنين أو ثلاثة من هذه الخدمات على نسخة ‎Oracle نفسها، تضيق الهامش، وأي ذروة استخدام تتسبب في إيقاف بسبب نقص الذاكرة.

المتطلبات الأساسية قبل الهجرة

تُعدّ الهجرة الناجحة قبل الاقتراب من إعدادات ‎DNS أو إيقاف أي شيء. ابدأ بإعداد قائمة دقيقة بالخدمات التي تعمل على نسخة ‎Oracle: اسم الخدمة، منفذ الاستماع، مجلد ‎Docker المرتبط، النطاق أو النطاق الفرعي المستخدم. التقط لقطة كاملة للنسخة عبر وحدة تحكّم ‎Oracle Cloud — هذه شبكة الأمان في حالة وقوع مشكلة غير متوقعة. صدّر أيضًا جميع مجلدات ‎Docker إلى أرشيفات ‎tar قابلة للنقل بصورة مستقلة. قلّص ‎TTL لسجلات ‎A إلى 300 ثانية قبل 24 ساعة على الأقل من الهجرة. حدّد مهام ‎cron والخطافات الواردة والخدمات الخارجية التي تستخدم عنوان ‎IP Oracle الحالي. تحقّق أخيرًا من أن شهادات ‎TLS تُدار عبر ‎Let's Encrypt مع التجديد التلقائي.

تصدير حزمة Docker وإعادة إنشائها

  1. استعراض الحاويات والمجلدات النشطة

    على نسخة ‎Oracle، اعرض جميع الحاويات: docker ps -a --format 'table {{.Names}}\t{{.Image}}\t{{.Mounts}}'. واعرض المجلدات: docker volume ls. دوّن الارتباطات بين أسماء الحاويات والمجلدات.

  2. نسخ احتياطي لكل مجلد في أرشيف tar

    لكل مجلد مهم مثل n8n_data أو nextcloud_data، صدّر باستخدام: docker run --rm -v n8n_data:/data -v $(pwd):/backup alpine tar czf /backup/n8n_data.tar.gz -C /data .. كرّر لكل مجلد.

  3. حفظ الصور المخصصة

    إذا كانت لديك صور مبنية محليًا، صدّرها: docker save image-name:tag | gzip > image-name.tar.gz. للصور العامة مثل ‎n8n وNextcloud وImmich، قائمة بالأسماء تكفي.

  4. نقل الأرشيفات إلى VPS الجديد

    من جهازك المحلي أو مباشرة بين الخادمين: rsync -avz --progress *.tar.gz root@vps-ip:/opt/restore/. تحقّق من مجاميع التدقيق: sha256sum *.tar.gz > checksums.txt.

  5. تثبيت Docker على VPS الجديد

    على ‎VPS عبر ‎SSH: curl -fsSL https://get.docker.com | sh && systemctl enable --now docker. تحقّق: docker compose version. أنشئ بنية المجلدات: mkdir -p /opt/{coolify,n8n,nextcloud,immich}.

  6. استعادة مجلدات Docker

    لكل مجلد محفوظ: docker volume create n8n_data && docker run --rm -v n8n_data:/data -v /opt/restore:/backup alpine tar xzf /backup/n8n_data.tar.gz -C /data. تحقّق من المحتوى: docker run --rm -v n8n_data:/data alpine ls -la /data.

  7. إعادة إنشاء ملفات docker-compose.yml

    انسخ ملفات docker-compose.yml من ‎Oracle أو استرجعها من مستودع ‎Git. شغّل كل حزمة بـ docker compose up -d وتحقّق من السجلات: docker compose logs -f --tail=50.

  8. التحقّق من الاشتغال قبل تحويل DNS

    اختبر كل خدمة عبر عنوان ‎IP للـ ‎VPS مباشرة بإضافة إدخال مؤقت في /etc/hosts على جهازك: curl -H 'Host: n8n.your-domain.com' http://vps-ip/healthz. تأكّد من وجود البيانات قبل تعديل ‎DNS.

إعادة نشر Coolify على VPS الجديد

  1. تثبيت Coolify

    على ‎VPS الجديد عبر ‎SSH: curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash. انتظر اكتمال التثبيت (نحو 2-3 دقائق)، ثم افتح http://vps-ip:8000.

  2. إنشاء حساب المدير

    عند الفتح الأول، يطلب ‎Coolify إنشاء حساب مدير بالبريد الإلكتروني وكلمة المرور. هذا الحساب محلي ولا يعتمد على نسختك القديمة. أنشئه فور انتهاء التثبيت، كما توصي وثائق ‎Coolify: فحتى ذلك الحين تكون لوحة التحكم متاحة لكل من يصل إلى المنفذ 8000. استخدم كلمة مرور قوية.

  3. إعداد النطاق والشهادات

    في إعدادات ‎Coolify (Settings → Instance)، أدخل نطاق ‎Coolify مثل coolify.your-domain.com وفعّل إنشاء شهادات ‎Let's Encrypt تلقائيًا. يدير ‎Coolify وكيل ‎Traefik داخليًا.

  4. إعادة ربط مصادر Git

    في Sources، أعد ربط حساب ‎GitHub أو GitLab أو Gitea. إذا استخدمت ‎GitHub Apps أو مفاتيح النشر على النسخة القديمة، أعد إنشاءها.

  5. استيراد المشاريع والخدمات

    أعد إنشاء المشاريع وأضف الخدمات الموجودة. للقواعد البيانات، أعد إنشاءها في ‎Coolify واستعد النسخ الاحتياطية: docker exec -i <postgres_container> psql -U user db < dump.sql.

  6. مراجعة متغيرات البيئة

    يحتاج كل خدمة منقولة إلى متغيرات بيئتها. في ‎Coolify، افتح كل خدمة → Environment Variables وقارن مع ملفات .env المصدّرة من ‎Oracle.

نقاط الانتباه بعد الهجرة

بعد تشغيل الخدمات على ‎VPS، يأتي تحويل ‎DNS. عدّل سجلات A لكل نطاق فرعي لتشير إلى عنوان ‎IP الجديد. بفضل ‎TTL المخفَّض إلى 300 ثانية مسبقًا، يتم الانتشار عادةً في أقل من عشر دقائق. راقب سجلات ‎Traefik أو ‎Caddy خلال الساعات الأولى للكشف عن أي طلبات لا تزال تصل إلى ‎IP Oracle القديم. يجب إعادة توليد شهادات ‎Let's Encrypt على ‎IP الجديد. مهام ‎cron الداخلية لـ ‎n8n أو ‎Nextcloud تبقى بعد الهجرة، لكن مهام ‎cron النظامية لنسخة ‎Oracle يجب إعادة إنشاءها يدويًا على ‎VPS. أخيرًا، أخبر الخدمات الخارجية التي استخدمت ‎IP Oracle القديم في قوائم ‎IP المسموح بها.

أعدّ نسخًا احتياطية تلقائية لمجلدات ‎Docker منذ اليوم الأول على ‎VPS الجديد. سكريبت ‎cron يومي يصدّر كل مجلد حيوي إلى تخزين كائنات (Backblaze B2 أو ما يتوافق مع S3) يحميك من أعطال القرص والحذف العرضي. على نسخة ‎ServOrbit، يُثبَّت restic أو borgbackup في دقائق ويوفّران نسخًا احتياطية تدريجية مشفّرة مع احتفاظ قابل للتخصيص.

استكشاف الأخطاء الشائعة

خلال هجرة ‎Docker، تظهر أخطاء متكررة. الأول هو مشكلة الأذونات على المجلدات المستعادة: إذا بدأت الحاوية بـ UID مختلف عمّا أنشأ الملفات على ‎Oracle، ستظهر أخطاء permission denied. أصلحها بـ docker run --rm -v volume:/data alpine chown -R uid:gid /data. الخطأ الثاني هو حاوية تبدأ ثم تتوقف بكود الخروج 137: هذا قتل بسبب نقص الذاكرة. تحقّق بـ dmesg | grep -i oom. يخصّ الخطأ الثالث ‎Let's Encrypt: إذا لم تُولَّد الشهادة، تأكّد من فتح المنفذ 80 وأن ‎DNS يشير إلى ‎IP الجديد بـ dig +short your-domain.com. أخيرًا، إذا أظهر ‎Coolify الخدمات كـ offline رغم تشغيل حاويات ‎Docker، تحقّق بـ docker network inspect coolify.

Oracle Always Free ARM مقابل VPS المدفوع: مقارنة

مرّر الجدول أفقيًا

‎Oracle Always Free ARM (الحدود الحالية)‎ServOrbit Cloud VPS
‎vCPU2 (مشتركة، قابلة للاسترداد)مخصّصة لـ ‎VPS الخاص بك، لا تُسترد
الذاكرة‎12 غيغابايت (مخفّضة من 24)ابتداءً من ‎4 GB، قابلة للتوسيع بخيار إضافي
‎IPv4عنوان عام واحد (قابل لإعادة التخصيص)عنوان ‎IPv4 ثابت مخصص مُدرَج
النطاق الترددي‎10 تيرابايت/شهر صادرمُدرَج في الباقة
وصول rootنعم (المنفذ 25 الصادر محظور افتراضيًا)وصول root كامل، بدون قيود
‎SLAلا يوجد على المستوى المجانيهدف توافر، مع التزام ببذل عناية (الشروط العامة للبيع)
إعادة تشغيل غير مخططنعم (صيانة Oracle، استرداد النسخ الخاملة)لا استرداد للنسخ الخاملة
التكلفة الشهرية‎0 يورو (مع خطر القطع أو الفوترة عند التجاوز)ابتداءً من ‎99 درهم/شهر (الصيغة الشهرية)، سعر ثابت

انقل حزمتك المستضافة ذاتيًا إلى ‎VPS سحابي من ‎ServOrbit

خادم ‎VPS يبدأ من ‎99 درهم/شهر مع وصول ‎root كامل وعنوان ‎IPv4 مخصص وموارد محدّدة لكل عرض. لا حصص مفروضة من طرف ثالث، ولا تخفيضات مفاجئة. أطلق حزمة ‎Docker أو ‎Coolify أو ‎n8n في دقائق.