التكلفة الحقيقية لمنصات PaaS المُدارة بالنسبة للوكالات
تُصدر Heroku الفواتير بحسب الـdyno، وتُفوتر Railway بالساعة الحاسوبية وبحجم نقل البيانات الصادرة، فيما تُحاسب Render على كل خدمة نشطة. بمجرد تجاوز مشروع عميل ما لخطته المجانية — أو عند إلغاء الخطة المجانية كما فعلت Heroku في نوفمبر 2022 — ترتفع الفاتورة بشكل تدريجي. بالنسبة للوكالة التي تدير ثمانية إلى خمسة عشر تطبيقاً، يتجاوز المجمّع بسرعة ما سيكلفه خادم VPS واحد مخصص للتنسيق على مدار العام. المشكلة ليست سعر مشروع منفرد: بل تعدد بنود الفوترة، كل واحد بدورة مختلفة وقواعد تجاوز خاصة بكل منصة. يُلغي Coolify كل هذه البنود ويستبدلها بواحدة فقط: خادم VPS الذي يستضيف المنسّق.
ما الذي يُغيّره Coolify v4.3 مقارنةً بالإصدارات السابقة
- معاينات النشر لكل PR — يحصل كل pull request تلقائياً على بيئة معاينة مؤقتة بعنوان URL خاص وشهادة SSL، دون أي تهيئة يدوية
- نسخ احتياطية مجدولة للأحجام — يمكن نسخ أحجام Docker احتياطياً إلى تخزين متوافق مع S3 وفق جدول قابل للضبط مع إمكانية ضبط الاحتفاظ
- سجل تدقيق منظم — تُسجَّل جميع الإجراءات (النشر، تعديل المتغيرات، إعادة التشغيل، تغيير الإعدادات) مع الطابع الزمني وهوية المستخدم
- إدارة مستخدمين متعددين مُحسَّنة — أدوار وصلاحيات لكل فريق، وصول معزول لكل مشروع عميل
- واجهة إدارة الموارد مُعاد تصميمها — عرض موحّد لـRAM وCPU والتخزين لكل خدمة لتحديد الحاويات الزائدة في مواردها
- دعم Docker Compose v2 — توافق موسّع مع ملفات Compose الموجودة دون الحاجة لإعادة كتابتها
- إشعارات webhook مُحسَّنة — حمولة نشر منظمة متوافقة مع Slack وDiscord وأي نقطة نهاية HTTP
متطلبات VPS لاستضافة Coolify
ينسّق Coolify Docker ويمكنه تشغيل تطبيقاتك وقواعد بياناتك ولوحته الخاصة على نفس الخادم في آنٍ واحد. الحد الأدنى من الموارد للبدء هو وحدتا vCPU و2 GB من الذاكرة العشوائية — كافٍ لعدد محدود من الخدمات الخفيفة. في بيئة الإنتاج مع مشاريع عملاء متعددة نشطة، خصص 4 GB من الذاكرة: كل حاوية تحجز ذاكرتها، وقواعد البيانات (PostgreSQL وRedis وMySQL) تستهلك باستمرار. يعتمد التخزين على أحجامك: ابدأ بـ40 GB على الأقل من SSD، وأكثر إذا فعّلت النسخ الاحتياطية المحلية. يجب أن تكون منافذ TCP 80 و443 مفتوحة لـLet's Encrypt وحركة مرور التطبيقات. المنفذ 22 (SSH) ضروري للتثبيت والإدارة. Coolify غير متوافق مع VPS تم تثبيت Docker عليه يدوياً بإعداد غير قياسي: ابدأ بصورة Ubuntu 22.04 LTS أو Debian 12 نظيفة.
إذا كنت مبتدئاً مع سطر أوامر Linux، فالتثبيت لا يتجاوز بضعة أوامر أدناه. بمجرد نشر Coolify، كل ما يليه — عمليات البناء، شهادات SSL، متغيرات البيئة، إعادة التشغيل — يُدار من واجهته الرسومية. لن تحتاج بعد ذلك إلى SSH للعمليات اليومية المعتادة.
تثبيت Coolify على VPS يعمل بـUbuntu 22.04
تجهيز VPS وتحديث النظام
اطلب VPS بنظام Ubuntu 22.04 LTS. اتصل عبر SSH بمستخدم الجذر أو مستخدم sudo، ثم حدّث الحزم:
apt update && apt upgrade -y. لا تُثبت Docker مسبقاً: يتولى نص تثبيت Coolify ذلك ويهيئ التبعيات بالترتيب المطلوب.فتح المنافذ الضرورية
اضبط UFV للسماح بـSSH وHTTP وHTTPS:
ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp && ufw enable. إذا كان مزودك يوفر جداراً نارياً شبكياً (مجموعة أمان، جدار ناري سحابي)، طبّق نفس القواعد على ذلك المستوى قبل المتابعة.تشغيل نص التثبيت الرسمي
شغّل النص المقدَّم من Coolify:
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash. يثبّت النص Docker CE، وينشر حزمة Coolify (اللوحة، بروكسي Traefik، العميل)، ويُشغّل الخدمات. تستغرق العملية بين دقيقتين وخمس دقائق حسب اتصال الخادم.الوصول إلى اللوحة الأولية
بعد اكتمال التثبيت، افتح
http://<IP-VPS>:8000في متصفحك. يطلب منك Coolify إنشاء حساب المسؤول: اختر كلمة مرور قوية واحفظها في مدير كلمات المرور. يتيح هذا الحساب الوصول إلى جميع موارد النسخة.تهيئة نطاق اللوحة
في إعدادات النسخة (
Settings > General)، أدخل النطاق الفرعي الذي حجزته لـCoolify، مثلاًcoolify.yourdomain.com. تأكد من أن سجل A لهذا النطاق الفرعي يشير إلى عنوان IP لـVPS. يُولّد Coolify ويجدد تلقائياً شهادة Let's Encrypt لهذا النطاق ويحوّل الوصول إلى HTTPS.ربط مصدر Git
في
Sources، أضف تكاملك مع GitHub (عبر GitHub App) أو GitLab. يُفضَّل GitHub App على مفتاح النشر: فهو يتيح لـCoolify إنشاء webhooks تلقائياً على كل مستودع وتشغيل معاينات نشر PR دون إعداد يدوي إضافي.إنشاء أول تطبيق
انقر على
New Resource > Application، حدد مستودعك، واختر فرع النشر والمنفذ المكشوف. يكتشف Coolify المكدّس عبر Nixpacks (Node.js وPython وPHP وGo وRuby...) أو يستخدم Dockerfile إذا قدّمت أحداً. أكّد: يبدأ أول بناء فوراً.التحقق من النشر
في سجلات النشر، تابع خطوات build ← push ← start. بمجرد تشغيل الحاوية، يعرض Coolify عنوان URL العام للتطبيق مع شهادة SSL نشطة. اختبر الوصول من متصفح وتحقق في
Resourcesأن استهلاك الذاكرة يظل ضمن الحدود المتوقعة. بالنسبة لوكالة تدير عملاء متعددين، أنشئ مشروع Coolify واحداً لكل عميل — لكل مشروع متغيرات بيئة خاصة به، وأعضاء فريق خاصون به، وموارده معزولة عن بقية المشاريع.
نشر أول تطبيق من مستودع Git
يراقب Coolify الفرع الذي حددته ويُشغّل نشراً جديداً عند كل push عبر webhook. تستغرق الدورة الكاملة — استقبال حدث GitHub/GitLab، بناء الصورة، إيقاف الحاوية السابقة، تشغيل الجديدة — أقل من دقيقة عادةً لتطبيق Node.js قياسي. تُدار متغيرات البيئة كأسرار مشفرة في قاعدة بيانات Coolify: لا تظهر أبداً بنص واضح في السجلات. بالنسبة لتطبيق يحتاج قاعدة بيانات، أنشئ أولاً خدمة قاعدة البيانات في نفس مشروع Coolify (New Resource > Database)، سجّل بيانات الاعتماد المُولَّدة، ثم أضفها كمتغيرات بيئة في التطبيق. تتشارك الخدمتان تلقائياً نفس شبكة Docker الداخلية.
Coolify مقابل Heroku مقابل Railway مقابل Dokploy — نظرة عامة
مرّر الجدول أفقيًا
| Coolify (ذاتي الاستضافة) | Heroku/Render/Railway | |
|---|---|---|
| نموذج التكلفة | تكلفة VPS فقط، برنامج مجاني | بالـdyno/شهر — من 5$ إلى 50$+ للتطبيق حسب المستوى |
| معاينات نشر PR | نعم، منذ v4.3 (سبتمبر 2026) | نعم (Review Apps)، مضمّنة في الخطط المدفوعة |
| نسخ احتياطية مجدولة للأحجام | نعم، إلى تخزين متوافق S3 — منذ v4.3 | عبر إضافات مدفوعة (Heroku Postgres Backup) |
| سجل التدقيق | نعم، منظّم — منذ v4.3 | سجل النشاط، غير قابل للتصدير بشكل أصلي |
| اللغات/المكدسات المدعومة | كل ما يدعمه Nixpacks أو Docker | Buildpacks الرسمية (Node وPython وRuby وJava وPHP وGo...) |
| قابلية نقل البيانات | أحجام Docker على خادمك الخاص | البيانات عند Heroku/Salesforce |
تهيئة معاينات نشر PR والنسخ الاحتياطية للأحجام
تُفعَّل معاينات النشر من صفحة إعداد التطبيق، ضمن تبويب Preview Deployments. بمجرد التفعيل، يحصل كل pull request مفتوح على المستودع تلقائياً على بيئة مؤقتة يمكن الوصول إليها عبر عنوان URL مبني على النمط <pr-number>.<app-domain>. يُدير Coolify شهادة SSL لهذه البيئة عبر Let's Encrypt ويُدمّر البيئة عند إغلاق PR أو دمجها. للنسخ الاحتياطية للأحجام، انتقل إلى Storage > Backups على مستوى الخدمة. أدخل بيانات اعتماد حاوية متوافقة مع S3 (AWS S3 أو Cloudflare R2 أو MinIO ذاتي الاستضافة)، والتكرار المطلوب (يومي أو أسبوعي)، وعدد النسخ الاحتفاظ بها. يُنشئ Coolify أرشيفاً مضغوطاً للحجم وينقله إلى الحاوية وفق الجدول المحدد. شغّل التنفيذ الأول يدوياً من لوحة التحكم للتأكد من أن بيانات اعتماد S3 تعمل قبل الاعتماد على الأتمتة.
احتفظ بنسخة احتياطية من إعدادات Coolify قبل أي تحديث رئيسي
قبل تطبيق تحديث Coolify من اللوحة (Settings > Updates)، احتفظ بنسخة احتياطية من قاعدة البيانات الداخلية للنسخة. يخزّن Coolify جميع إعداداته في حجم Docker يحمل اسم coolify-db. صدّره يدوياً: docker run --rm -v coolify-db:/data -v $(pwd):/backup alpine tar czf /backup/coolify-db-$(date +%Y%m%d).tar.gz /data. احتفظ بهذا الأرشيف خارج VPS (في حاوية S3 أو تخزين محلي) قبل إطلاق التحديث. في حالة وجود أي مشكلة بعد التحديث، استعد باستخدام الأمر العكسي. يستغرق هذا الإجراء أقل من دقيقة ويُغنيك عن إعادة بناء كامل التكوين يدوياً.
استكشاف الأخطاء — الأخطاء الشائعة عند الإطلاق
هناك أربع حالات تتكرر بانتظام عند أول تثبيت أو بعد التحديثات.
المنفذ 80 أو 443 مشغول. يستخدم Coolify Traefik كبروكسي عكسي على المنفذين 80 و443. إذا كانت عملية أخرى تشغل هذين المنفذين (nginx أو Apache مثبّت مباشرة على VPS)، لن يبدأ Traefik ولن تُصدر أي شهادة. افحص بـss -tlnp | grep -E ':80|:443'، أوقف العملية المزاحمة، ثم أعد تشغيل Coolify بـdocker compose -f /data/coolify/source/docker-compose.yml restart.
webhook Git لا يُشغَّل بعد push. السبب الأكثر شيوعاً هو جدار ناري شبكي يحجب عناوين IP الصادرة من GitHub أو GitLab إلى VPS. تحقق من السماح لنطاقات IP لـGitHub Webhooks (https://api.github.com/meta) على المنفذ 443 لـVPS. تحقق أيضاً في Coolify من أن webhook قد أُنشئ بالفعل في إعدادات المستودع على GitHub (تبويب Webhooks).
شهادة SSL عالقة في الانتظار. يستخدم Let's Encrypt تحدي HTTP-01: يحاول الوصول إلى http://<your-domain>/.well-known/acme-challenge/. إذا لم ينتشر DNS للنطاق بعد، أو إذا لم يكن المنفذ 80 في متناول الإنترنت، يفشل التحدي ويُعيد Traefik المحاولة كل خمس دقائق. انتظر الانتشار الكامل للـDNS، وتحقق من إمكانية الوصول للمنفذ 80 بـcurl -I http://<your-domain>، ثم أعد تشغيل خدمة التطبيق في Coolify.
التطبيق يعمل لكن لا يمكن الوصول إليه. تحقق من أن المنفذ المكشوف في إعداد Coolify يطابق المنفذ الذي يستمع إليه التطبيق فعلياً داخل الحاوية. حاوية Node.js تستمع على 3000 يجب أن تكون 3000 هي منفذ الحاوية في إعداد Coolify، حتى لو كان عنوان URL العام يستخدم المنفذ 443.
لمزيد من المعلومات
يندمج Coolify ضمن منظومة حلول النشر ذاتية الاستضافة. إذا كان سياقك يستدعي نهجاً مختلفاً — خطوط أنابيب GitOps عبر Kamal، أو تنسيق خفيف الوزن مع Dokploy، أو واجهة مُبسّطة مع Easypanel — فلكل أداة نقاط قوتها حسب حجم الفريق وتعقيد عمليات النشر. تستكشف المقالات ذات الصلة هذه البدائل وحالات الاستخدام المحددة لكل بيئة.