من يحتاج إلى منصة PaaS ذاتية الاستضافة؟
تُلائم منصة PaaS مُدارة كـHeroku أو Render النماذجَ الأوليةَ والمشاريعَ الصغيرة. بمجرّد أن تستضيف تطبيقات متعددة أو يكبر حجم الزيارات، ترتفع الفاتورة بالتناسب — وقد تتخطى أحياناً تكلفة خادم VPS مخصّص. يستهدف Coolify ثلاثة أنماط محددة: وكالات الويب التي تدير عشرات المشاريع لعملائها، إذ يحلّ خادم Coolify واحد محلّ عدد مماثل من حسابات Heroku؛ والمستقلّون الراغبون في التحكّم بتكاليف بنيتهم التحتية دون التضحية بميزة النشر الآلي؛ والفِرق التي لا تستطيع إسناد بياناتها إلى طرف ثالث — الامتثال للائحة GDPR، أو العملاء في القطاع العام، أو البيانات الطبية والمالية. في الحالات الثلاث، يُعيد Coolify إنتاج سير عمل PaaS (git push → النشر) على بنية تحتية تتحكّم فيها بالكامل.
Coolify مقابل Heroku وVercel: ما الذي تكسبه
- تكلفة ثابتة وقابلة للتنبّؤ: تدفع مقابل خادم VPS لا مقابل الاستخدام — خادم بـ 10 يورو يستضيف ما تشاء من التطبيقات
- بيانات ذات سيادة: لا تغادر بياناتك بنيتك التحتية، مع تبسيط الامتثال للائحة GDPR
- نشر آلي عند
git push: خطاطيف GitHub وGitLab وGitea مدمجة، دون إضافة خارجية - اكتشاف تلقائي للحزمة: Nixpacks أو Dockerfile أو Docker Compose — يختار Coolify أو تتحكّم أنت
- شهادات SSL عبر Let's Encrypt تُدار وتُجدَّد تلقائياً دون تدخّل
- قواعد بيانات بنقرة واحدة (PostgreSQL وMySQL وMongoDB وRedis) مع نسخ احتياطية مجدوَلة إلى S3
- إدارة متعددة الخوادم: واجهة واحدة لعدة خوادم VPS مع إمكانية توزيع الحِمل
- مفتوح المصدر (رخصة Apache 2.0): لا ارتباط بمورّد، والكود قابل للتدقيق والاستضافة الذاتية
المتطلبات الدنيا قبل التثبيت
يستهلك Coolify بحدّ ذاته موارد قليلة، لكنّه ينظّم Docker ويحتمل أن يستضيف تطبيقاتك وقواعد بياناتك على الخادم نفسه. خطّط لحدٍّ أدنى من 2 vCPU و2 جيجابايت من الذاكرة العشوائية لـCoolify وحده، وتصبح 4 جيجابايت الحدَّ الأدنى الموصى به حين تُشغّل عدة خدمات في آنٍ واحد. تعتمد مساحة القرص على تطبيقاتك: خصّص 20 جيجابايت للنظام وـCoolify، إضافةً إلى مساحة لصور Docker وبياناتك.
نظام التشغيل: Ubuntu 22.04 LTS أو Debian 12 على خادم جديد. لا تُثبّت Docker يدوياً مسبقاً — فسكربت التثبيت يتولّى هذه الخطوة، وقد تُسبّب نسخة Docker المثبّتة مسبقاً تعارضات.
المنافذ الواجب فتحها في الجدار الناري: 22 (SSH)، و80 (HTTP)، و443 (HTTPS)، و8000 (واجهة تثبيت Coolify الأولية). يمكنك إغلاق المنفذ 8000 بعد إعداد النطاق والتحوّل إلى HTTPS. يلزمك اسم نطاق أو نطاق فرعي لواجهة Coolify ولكل تطبيق تنشره.
تثبيت Coolify والنشر به: 10 خطوات
تهيئة خادم VPS جديد
اطلب خادم VPS بنظام Ubuntu 22.04 LTS (أو Debian 12) مخصّصاً لـCoolify. حدّث الحزم: apt update && apt upgrade -y. فعّل UFW مع السماح بـSSH (22) وHTTP (80) وHTTPS (443) والمنفذ 8000 مؤقتاً للوصول الأوّلي. لا تُثبّت Docker — فسكربت التثبيت يتولّى ذلك.
تشغيل سكربت التثبيت الرسمي
نفّذ سكربت التثبيت بصلاحيات root: curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash. يُثبّت السكربت Docker وينشر حزمة Coolify (التي تعمل داخل حاويات بحدّ ذاتها) ويُشغّل لوحة التحكّم. يستغرق التثبيت من دقيقة إلى ثلاث دقائق حسب سرعة اتصال الخادم.
إنشاء حساب المشرف فوراً
افتح http://your-ip:8000 بمجرّد انتهاء التثبيت وأنشئ حساب المشرف. هذه الخطوة عاجلة: طالما لم يُنشأ الحساب، تظلّ صفحة التسجيل مكشوفة لأيّ شخص يعرف عنوان IP الخادم. فأوّل زائر ينشئ حساباً يحصل على حقوق الإدارة الكاملة.
إعداد نطاق واجهة Coolify
في الإعدادات > النسخة، أدخل نطاق النسخة (coolify.your-domain.com). أنشئ أوّلاً سجلّ A في DNS يشير إلى IP خادم VPS. يُولّد Coolify شهادة SSL تلقائياً عبر Let's Encrypt ويحوّل الوصول إلى HTTPS. يمكنك بعدها إغلاق المنفذ 8000 في UFW.
ربط مصدر Git
في المصادر، أضف تكاملاً مع GitHub (عبر GitHub App) أو GitLab (عبر مفتاح نشر أو OAuth). يُوصى بتكامل GitHub App: يتيح لـCoolify إنشاء الخطاطيف تلقائياً على مستودعاتك واستنساخ المستودعات الخاصة دون إدارة يدوية لمفاتيح SSH.
إنشاء أوّل تطبيق
أنشئ مشروعاً ثمّ موارداً من نوع تطبيق. اختر مصدر Git والمستودع وفرع النشر. يحلّل Coolify المستودع ويقترح طريقة بناء: Nixpacks (اكتشاف تلقائي للحزمة: Node وPython وPHP وRuby وغيرها) أو Dockerfile إن وُجد في المستودع أو Docker Compose. أدخل نطاق التطبيق ومتغيّرات البيئة اللازمة.
إطلاق أوّل عملية نشر
انقر فوق نشر. يستنسخ Coolify المستودع وينفّذ البناء وينشئ الحاوية ويُعدّ وكيل Traefik العكسي ويُولّد شهادة SSL. تظهر سجلّات البناء في الواجهة بصورة فورية. تستغرق عملية النشر النموذجية من 30 ثانية إلى 3 دقائق حسب حجم التطبيق.
تهيئة قاعدة بيانات
في مشروعك، أنشئ مورداً من نوع قاعدة بيانات واختر المحرّك (PostgreSQL أو MySQL أو MariaDB أو MongoDB أو Redis). يُشغّل Coolify الحاوية ويُولّد كلمة مرور عشوائية ويعرض سلسلة الاتصال. أدرجها كمتغيّر بيئة في تطبيقك. تُضبط النسخ الاحتياطية المجدوَلة نحو تخزين متوافق مع S3 مباشرةً من الواجهة.
إعداد نطاق مخصّص للتطبيق
في إعدادات التطبيق، أدخل النطاق أو النطاقات. أنشئ سجلّات A المقابلة في DNS. يُعيد Coolify إعداد Traefik ويُطلق توليد شهادات SSL. إن كان نطاقك خلف شبكة توصيل المحتوى (Cloudflare في وضع الوكيل)، حوّل نوع الشهادة إلى DNS Challenge وأدخل رمز API الخاص بـCloudflare في إعدادات النسخة.
تفعيل النسخ الاحتياطية لـCoolify نفسه
تُحفَظ إعدادات جميع مواردك (التطبيقات وقواعد البيانات والأسرار) في /data/coolify. جدوِل نسخاً احتياطياً لهذا الدليل نحو تخزين خارجي مستقلّ عن الخادم: في حالة فقدان الخادم، تستعيد بيئة Coolify بالكامل من هذا الأرشيف. تكفي مهمة crontab أو سكربت rsync نحو حاوية S3.
الإعدادات بعد التثبيت
بمجرّد نشر أوّل تطبيق، تُحسّن عدة إعدادات الموثوقية اليومية.
الخطاطيف التلقائية لـGit. ينشئ تكامل GitHub App أو GitLab OAuth خطاطيف على كلّ مستودع عند إعداد المورد. إن استخدمت مفتاح نشر SSH يدوياً، أنشئ الخطّاف على جانب Git مشيراً إلى https://coolify.your-domain.com/api/v1/deploy?uuid=<uuid-application>&secret=<secret>. المعرّف الفريد والسرّ ظاهران في تبويب الخطاطيف لكلّ مورد.
متغيّرات البيئة والأسرار. يميّز Coolify بين المتغيّرات الظاهرة في الواجهة (متغيّرات البيئة الاعتيادية) والأسرار المُخفاة (الرموز ومفاتيح API). يُشفَّر كلاهما في قاعدة البيانات. يمكن تعريف متغيّرات على مستوى المشروع — تَرثها جميع الموارد — أو على مستوى كلّ مورد.
المراقبة المدمجة. يعرض تبويب المقاييس لكلّ خادم استخدام CPU والذاكرة والقرص في الوقت الفعلي. يمكن إعداد إشعارات (بريد إلكتروني، Telegram، Slack، Discord، ntfy) لأحداث النشر والأخطاء وتنبيهات الموارد.
تحديثات Coolify. تُطلَق التحديثات من الواجهة (الإعدادات > التحديث). يسحب Coolify الإصدار الجديد من صور Docker ويُعيد إنشاء حاوياته الخاصة ويُعيد التشغيل. لا يمسّ التحديث تطبيقاتك المنشورة.
التصليب الأمني: الشبكة والمصادقة
خطوتان قبل نقل Coolify إلى الإنتاج. فعّل المصادقة الثنائية (2FA) على حساب المشرف: الإعدادات > الملف الشخصي > المصادقة الثنائية. أغلق المنفذ 8000 في UFW بعد إعداد نطاق HTTPS (ufw delete allow 8000). إن كان خادم VPS مكشوفاً مباشرةً على الإنترنت دون شبكة توصيل محتوى، فكّر في تقييد الوصول إلى واجهة Coolify بعنوان IP في UFW — بحيث يصل إلى اللوحة شبكتك أو VPN فحسب، بينما يظلّ المنفذ 443 مفتوحاً لتطبيقاتك.
استكشاف الأخطاء: الأعطال الشائعة
فشل البناء برسالة No build method detected. لم يتعرّف Nixpacks على الحزمة. أضف ملفّ Dockerfile إلى جذر المستودع أو اختر طريقة البناء يدوياً في إعدادات التطبيق (Docker Compose إن توفّر). يمكنك أيضاً إجبار حزمة Nixpacks بإضافة ملفّ nixpacks.toml إلى الجذر.
النطاق يعرض 502 Bad Gateway بعد النشر. التطبيق لا يستمع على المنفذ الذي يتوقّعه Traefik. تحقّق من منفذ الكشف في إعدادات المورد: يجب أن يطابق المنفذ الذي يستمع عليه تطبيقك داخل الحاوية. لتطبيق Node.js يبدأ على المنفذ 3000، أدخل 3000 في حقل المنفذ.
شهادة SSL لا تتولّد، الوصول يبقى على HTTP. تحقّق أنّ سجلّ DNS A يشير إلى IP خادم VPS (قد يستغرق الانتشار وقتاً). تحقّق أنّ المنفذ 80 مفتوح في UFW — يجب أن يصل Let's Encrypt في وضع HTTP Challenge إلى الخادم عبر هذا المنفذ. إن كنت خلف Cloudflare في وضع الوكيل، تحوّل إلى DNS Challenge.
التطبيق يعيد التشغيل في حلقة (Restarting). أمر البدء يفشل. راجع سجلّات الحاوية في تبويب السجلّات الخاص بالمورد. الخطأ عادةً متغيّر بيئة مفقود، أو اتصال بقاعدة بيانات متعذّر (تحقّق من سلسلة الاتصال)، أو منفذ مُستخدَم فعلاً على الخادم.
موارد غير كافية: البناء مقطوع (Killed). ذاكرة خادم VPS غير كافية أثناء البناء. خيارَان: إضافة مساحة تبديل مؤقتاً (fallocate -l 2G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile) أو الترقية إلى خادم VPS بذاكرة أكبر. لتطبيقات Node.js الضخمة، أضف NODE_OPTIONS=--max-old-space-size=4096 في متغيّرات بيئة البناء.
Coolify أم CapRover أم Dokploy: أيّها تختار؟
ليس Coolify منصة PaaS ذاتية الاستضافة الوحيدة المتاحة. تغطّي CapRover وDokploy وDokku احتياجات مماثلة بفلسفات مختلفة. يتميّز Coolify بواجهته العصرية ودعمه الأصيل لتعدّد الخوادم والمراقبة المدمجة — وهو مناسب للفِرق التي تدير أسطولاً من الخوادم من نقطة تحكّم واحدة. CapRover أخفّ وزناً ويلائم الاستخدام على خادم واحد مع مشرف منفرد. Dokploy أحدث، موجَّه نحو Docker Compose وKubernetes بواجهة مرتّبة. للاطلاع على مقارنة تفصيلية بين المنصّات الثلاث على المعايير الأهمّ (الموارد والبناء وقواعد البيانات والوصول التعاوني)، راجع مقالتنا المقارِنة.