المدونة

Coolify وClaude Code: انشر مشروعًا على VPS خاص بك

Markdown

تثبيت Coolify، وربط GitHub، ونشر Next.js، والنطاق وHTTPS، وMCP، ومتطلبات VPS، واستكشاف الأخطاء وإصلاحها. أسعار تقنية بالدولار والقيود الأصلية.

قراءة المقال كاملًا

توثيق Ailoot — مواد مرجعية للعمل مع الخدمة.

قيود المنصات وشروط الدفع في 2026

الخلاصة الأساسية

تظل الخطط المجانية متاحة إلى أن تتجاوز حدًا للمرة الأولى؛ بعد ذلك، يلزم استخدام بطاقة دولية. أغلقت Heroku فئتها المجانية أمام الجميع في 2022، ودخلت مرحلة الدعم المستمر في فبراير 2026. مع Coolify المستضاف ذاتيًا، أنت تملك الخادم؛ ولا توجد فوترة لكل مقعد ولا احتجاز لدى المورّد.

سيناريو شائع لمبرمج يستخدم البرمجة الإبداعية في 2026: تنشئ نموذجًا أوليًا في Cursor أو Claude Code خلال مساء، وتنقله إلى مستودع GitHub، وتفتح vercel.com → تربط المستودع → تصل إلى شاشة الاشتراك → تدخل بطاقتك → فتظهر لك Transaction declined.

هذا ليس خطأً ولا انقطاعًا مؤقتًا.

Railway وRender وHeroku — القصة واحدة. في الواقع، أغلقت Heroku فئتها المجانية أمام الجميع في 2022، وفي فبراير 2026 دخل المشروع مرحلة الدعم المستمر — بلا ميزات جديدة ولا عقود Enterprise جديدة. وبالنسبة إلى مستخدم لديه بطاقة غير مدعومة، فهذا يعني: «الباب مغلق؛ التفت عبر وسيط يتقاضى عمولة 20%.»

يمكنك الدفع عبر بطاقات Visa افتراضية في كازاخستان أو خدمات الدفع للشركات. لكن ذلك يعني زيادة السعر بنسبة 20%، و30 دقيقة لكل معاملة، وخطر حظر حسابك عندما يلاحظ معالج الدفع عدم تطابق البلد.

تضمن المثال الأصلي ثلاث محاولات — على Vercel Pro وRailway وRender.

ما هو Coolify، وكيف تعمل منصة مستضافة ذاتيًا؟

الخلاصة الأساسية

Coolify منصة PaaS مفتوحة المصدر قابلة للاستضافة الذاتية، وبديل مباشر لـ Heroku وVercel وNetlify. تُثبَّت بأمر curl واحد على أي VPS يعمل بنظام Ubuntu. تستخدم تحت الغطاء Docker + Traefik للوكيل العكسي وLet's Encrypt لـ HTTPS. وهي تدعم التكامل مع GitHub، وخطافات الويب للنشر التلقائي، والنسخ الاحتياطية إلى S3، وأكثر من 280 خدمة بنقرة واحدة (PostgreSQL وRedis وMinIO). الإصدار المستضاف ذاتيًا مجاني إلى الأبد بلا حدود. وله 55,800 نجمة على GitHub وترخيص Apache-2.0.

Coolify مشروع مفتوح المصدر مبني باستخدام Laravel + Docker، يحوّل أي VPS فارغ إلى منصة لنشر التطبيقات. ثبّت Coolify مرة واحدة، ثم أنجز كل شيء آخر عبر واجهة الويب: اربط GitHub، واختر مستودعًا، وانقر على Deploy.

يختصر التوثيق الرسمي الأمر بدقة:

Coolify بديل مفتوح المصدر وقابل للاستضافة الذاتية لـ Heroku / Netlify / Vercel وما إلى ذلك.

— ملف Coolify التمهيدي على GitHub، https://github.com/coollabsio/coolify

يتكوّن Coolify تحت الغطاء من أربعة أجزاء:

  1. واجهة ويب مبنية باستخدام Laravel 12 + Livewire 3 + Tailwind v4 — لوحة تحكم لإدارة تطبيقاتك.
  2. Docker + Docker Compose — يعمل كل تطبيق في حاوية معزولة عن التطبيقات الأخرى.
  3. وكيل عكسي (Traefik أو Caddy) — يستقبل حركة HTTP/HTTPS الواردة ويوجهها إلى الحاويات.
  4. تكامل Let's Encrypt — يصدر شهادات SSL لجميع النطاقات ويجددها تلقائيًا.

ميزات أساسية تجعل Coolify مماثلًا لـ Vercel من الناحية الوظيفية:

الميزةVercelCoolify
النشر التلقائي عند دفع تغييرات إلى git✅✅ (عبر خطاف ويب GitHub)
HTTPS مجاني✅✅ (Let's Encrypt)
معاينة عمليات النشر الخاصة بـ PR✅✅ (عبر GitHub App)
واجهة لمتغيرات البيئة✅✅
نسخ احتياطية لقواعد البيانات❌ (لا يوفّر قواعد بيانات خاصة به)✅ (إلى تخزين متوافق مع S3)
PostgreSQL / Redis / MongoDB$20+/شهر لكل منها✅ بنقرة واحدة ومجانًا
المهام المجدولة (cron)❌✅ (بصيغة cron)
الفوترة لكل مقعد$20/مقعد/شهرلا شيء
الاحتجاز لدى المورّدمرتفع (Edge Functions وISR)صفر (Docker الخاص بك)
CDN عالمي✅❌ (خادم VPS الخاص بك فقط)

شبكة CDN عالمية هي الشيء الوحيد الذي لا يتضمنه Coolify جاهزًا للاستخدام. هذه هي الإجابة الصريحة. إذا كان لمشروعك جمهور عالمي وتحتاج إلى تقليل زمن الاستجابة للمستخدمين في الولايات المتحدة وأوروبا، فاستخدم Cloudflare أمامه؛ فهو مجاني للمحتوى الثابت.

السعر: الإصدار المستضاف ذاتيًا مجاني إلى الأبد، بلا حدود لعدد التطبيقات أو الخوادم أو عمليات النشر. يتوفر Coolify Cloud مقابل $5 شهريًا لخادمين + $3 لكل خادم إضافي — لكن الخوادم تظل ملكك؛ يستضيف Coolify Cloud لوحة التحكم فحسب.

أحدث إصدار هو v4.1.0 الصادر في May 18, 2026. تشمل الميزات الجديدة حزمة البناء Railpack في الإصدار التجريبي، وسجلات التدقيق، وفروق الإعدادات بين عمليات النشر، ونقطة نهاية MCP أصلية (للقراءة فقط). المصدر: إصدارات GitHub.

أي VPS تختار لـ Coolify في 2026؟

الخلاصة الأساسية

يتطلب Coolify حدًا أدنى قدره 2 vCPU و2 GB RAM و30 GB SSD ونظام Ubuntu LTS (20.04 أو 22.04 أو 24.04). ويمكن لـ VPS بهذه المواصفات تشغيل 3–5 مشاريع برمجة إبداعية بالتوازي براحة.

الحد الأدنى لمتطلبات Coolify وارد مباشرةً في التوثيق الرسمي:

المعلمةالحد الأدنىالموصى به
CPUنواتان2–4 نوى
RAM2 GB4 GB (مع مساحة إضافية لعمليات البناء)
التخزين30 GB50–80 GB (للصور وقواعد البيانات)
البنيةAMD64 أو ARM64 (64-bit)AMD64
نظام التشغيلUbuntu LTS 20.04 / 22.04 / 24.0422.04 LTS
Rootمطلوبعبر مفتاح SSH، لا كلمة مرور

الحد الأدنى — 2 GB RAM — هو حد أدنى صارم. مع 1 GB، يصل المثبّت إلى Docker، ويواجه نفاد الذاكرة (OOM)، ثم يتوقف. لا تبخل في RAM.

مصادر الأسعار: Timeweb Cloud، وFirstVDS، وSelectel.

إذا كنت تحتاج إلى قدرة أكبر (قاعدة بيانات بحجم 100 GB، وعدة نسخ من Postgres)، فاحصل على Aeza Dedicated.

ما لا ينبغي اختياره:

  • VPS مشترك بذاكرة RAM بين 512 MB و1 GB — لا يكفي حتى لـ Coolify. هذا مناسب للمواقع الثابتة على nginx، وليس لمنصة PaaS.

هل تريد إعداد النشر وبناء تهيئة تجعل Claude موثوقًا أيضًا؟ Coolify أداة تنفيذ، لكن Claude سيظل يهلوس في المهام الطويلة من دون سياق منظم (CLAUDE.md، وعقل ثانٍ، وهندسة السياق). تتضمن التهيئة الكاملة العناصر الثلاثة: نسخة الذكاء الاصطناعي + العقل الثاني + هندسة السياق — هذا المزيج هو ما يحوّل Claude من «مساعد يهلوس» إلى أداة موثوقة.

كيفية تثبيت Coolify خلال 5 دقائق

الخلاصة الأساسية

التثبيت عبارة عن أمر curl واحد من التوثيق. عند بدء التشغيل، تظهر واجهة ويب على المنفذ 8000. أنشئ هناك أول مستخدم مسؤول، وسترى لوحة تحكم فارغة. يستغرق الانتقال الفعلي من تثبيت Ubuntu فارغ إلى تشغيل Coolify مدة 5–7 دقائق، منها 3–4 دقائق لتثبيت apt-get install docker. يجلب النص البرمجي التبعيات اللازمة ويهيئ Docker بنفسه؛ وكل ما عليك هو الانتظار حتى ينتهي.

الخطوة 1. اتصل بـ VPS عبر SSH.

بعد إنشاء VPS لدى المزوّد، سيظهر عنوان IP الخاص بالخادم وكلمة مرور root في رسالة بريد إلكتروني أو في لوحة التحكم. اتصل من جهازك المحلي:

ssh root@1.2.3.4

إذا زوّدك المزوّد بمفتاح SSH بدلًا من كلمة مرور، فاتصل باستخدام -i path/to/key. من الآن فصاعدًا، أفترض أنك تستخدم تثبيتًا جديدًا لـ Ubuntu 22.04 أو 24.04 LTS.

الخطوة 2. شغّل أمر تثبيت Coolify.

أمر واحد من التوثيق الرسمي:

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash

ينفّذ النص البرمجي ثلاثة أمور:

  1. يتحقق من النظام (Ubuntu LTS؟ وroot؟ وAMD64؟)
  2. يثبّت Docker وDocker Compose إذا لم يكونا مثبتين بالفعل
  3. ينزّل صور Coolify (coolify/coolify وcoolify/realtime وtraefik) ويشغّلها في الخلفية عبر docker-compose

يستغرق هذا 3–5 دقائق. سترى سجلات apt-get تتدفق، يليها docker pull. عندما ترى Coolify v4.1.0 is now running، انتقل إلى الخطوة 3.

الخطوة 3. افتح واجهة الويب.

افتح هذا العنوان في متصفحك:

http://1.2.3.4:8000

سيعرض Coolify معالج إعداد — نموذجًا لإنشاء أول مستخدم. أدخل بريدًا إلكترونيًا وكلمة مرور واحفظهما. يصبح هذا المستخدم مسؤولًا تلقائيًا؛ ولا تحتاج إلى مستخدمين آخرين في الوقت الحالي.

بعد الحفظ، ستصل إلى لوحة تحكم فارغة: شريط جانبي على اليسار يضم Resources / Projects / Servers / Sources / Notifications / Settings، ومطالبة في الوسط تقول “Add your first resource.”

الخطوة 4. افتح المنافذ في جدار الحماية لدى المزوّد (وليس UFW).

Coolify يعمل بالفعل، لكن المنفذ 8000 (لوحة التحكم) وحده متاح من الخارج. للسماح للمستخدمين بالوصول إلى تطبيقاتك، عليك فتح المنفذين 80 (HTTP) و443 (HTTPS):

المنفذالغرض
22الوصول إلى الخادم عبر SSH
80يستقبل حركة HTTP، ومطلوب للتحقق من Let's Encrypt
443يستقبل حركة HTTPS للمستخدمين
8000لوحة تحكم Coolify (سنغلقه بعد إعداد نطاق مخصص للوحة التحكم)

هناك عائق مهم يورده التوثيق الرسمي:

يستخدم Docker قواعد iptables قائمة على NAT، ويمكنها تجاوز جدران الحماية التقليدية في Linux مثل UFW.

— توثيق Coolify (الجدار الناري)، https://coolify.io/docs/knowledge-base/server/firewall

هذا يعني أنه حتى لو فعّلت UFW وأغلقت جميع المنافذ، سيظل Docker يكشف حاوياته عبر iptables. لا فائدة من UFW هنا. الحل هو فتح المنافذ وإغلاقها في لوحة تحكم المزوّد، وليس عبر UFW. في Timeweb / Selectel / Aeza، تنفّذ ذلك ضمن قسم “Network → Firewall” في لوحة الويب.

الخطوة 5 (اختيارية). اربط لوحة التحكم بنطاقك.

لزيارة https://coolify.example.com بدلًا من http://1.2.3.4:8000، أنشئ سجل DNS من النوع A باسم coolify.example.com → 1.2.3.4، وانتقل في Coolify إلى Settings → Instance Settings → Instance Domain، وأدخل النطاق الفرعي واحفظ. سيطلب Coolify شهادة Let's Encrypt، وبعد دقيقة سيعيد تحميل لوحة التحكم عبر HTTPS.

بعد ذلك، يمكنك إغلاق المنفذ 8000 في جدار الحماية — ستكون لوحة التحكم متاحة عبر HTTPS على المنفذ القياسي 443.

كيفية ربط GitHub: App أم PAT؟

الخلاصة الأساسية

يدعم Coolify طريقتين للاتصال بـ GitHub: GitHub App (موصى به) وPersonal Access Token (PAT). استخدم GitHub App: يستغرق الإعداد 5 دقائق باستخدام المعالج، وتعمل معاينات PR، ويمكن تحديد نطاق الأذونات بدقة على مستوى المستودع. PAT خيار قديم للحالات التراثية؛ لا يتضمن عمليات نشر للمعاينة، وينطوي على خطر الوصول الشامل إلى جميع مستودعاتك. يقول التوثيق الرسمي مباشرةً: «بالنسبة إلى 95% من المستخدمين، فإن GitHub App هو الخيار الصحيح.»

في Coolify، انتقل إلى Sources → + Add → GitHub App. سيعرض Coolify معالجًا من ثلاث شاشات:

  1. الاسم والوصف — سمِّ المصدر (أدخل github-main) وأضف وصفًا اختياريًا.
  2. Configure on GitHub — زر ينقلك إلى GitHub.com ويفتح تلقائيًا نموذج إنشاء GitHub App بالأذونات الصحيحة.
  3. Confirm — بعد العودة من GitHub، انقر على “Save.”

في الخطوة الثانية، سيطلب منك GitHub تأكيد الأذونات التي يطلبها Coolify:

الإذنالمستوىالغرض
Contentsللقراءة فقطاستنساخ المستودع
Pull Requestsللقراءة والكتابةإنشاء معاينات النشر والتعليق على PRs
عناوين البريد الإلكترونيللقراءة فقطتحديد الالتزامات
Metadataللقراءة فقطعرض قائمة المستودعات

هذه الحد الأدنى من الأذونات — لا يستطيع GitHub App رؤية مفاتيحك الخاصة، ولا الكتابة إلى main، ولا الوصول إلى مستودعات لم تربطها صراحةً.

من التوثيق الرسمي:

Personal Access Token (PAT) هو الأسلوب القديم؛ لا أوصي باستخدامه. سلبياته:

  • يمنح PAT وصولًا شاملًا إلى جميع مستودعاتك (بما فيها الخاصة)
  • لا تعمل معاينات PR — فهذه الميزة حصرية لـ GitHub App
  • تظل صلاحية الرمز طويلة (90 يومًا أو سنة أو إلى أجل غير مسمى) — وتسريبه مشكلة

استخدم PAT فقط إذا كنت تعمل على مستودع تابع لمؤسسة تمنع سياسة الأمان فيها تطبيقات GitHub ولا يوجد حل بديل.

بعد حفظ المصدر في Coolify، سترى GitHub App في لوحة التحكم مع قائمة بالمستودعات المتصلة. وعند إنشاء تطبيق جديد، ستتمكن من اختيار أي منها بنقرة واحدة.

كيفية نشر مشروع Next.js من Claude Code في 6 خطوات

الخلاصة الأساسية

المسار الكامل من إعداد Claude Code فارغ إلى موقع مباشر: 1) شغّل claude في مجلد فارغ، وصف المشروع، وسيُنشئ Claude الشيفرة؛ 2) شغّل git init && git remote add (يمكن لـ Claude تنفيذ ذلك بنفسه عبر أمر slash)؛ 3) ادفع التغييرات إلى GitHub؛ 4) في Coolify، اختر “+ New Resource → Application” وحدد المستودع؛ 5) أضف متغيرات البيئة؛ 6) انقر على Deploy. سيكتشف Coolify أنه مشروع Next.js، ويختار حزمة البناء Nixpacks، وينشئ صورة Docker خلال 3–5 دقائق، ويوفر نطاقًا مؤقتًا مع HTTPS جاهزًا للاستخدام.

الخطوة 1. صف المشروع لـ Claude Code في مجلد فارغ.

mkdir my-vibe-app
cd my-vibe-app
git init
claude

في الجلسة:

Build a Next.js 14 app router project:
- a home page with a list of users
- /api/users endpoint returns an array from the database
- Postgres via Prisma
- Tailwind for styles
- .env.example with DATABASE_URL
- README.md with instructions for running the project

سيُنشئ Claude بنية الملفات وpackage.json وprisma/schema.prisma و.env.example. واطلب منه أيضًا:

Create a Dockerfile for production builds and a .dockerignore.

هذا اختياري — إذ يستطيع Coolify البناء باستخدام Nixpacks حتى من دون Dockerfile. لكن Dockerfile يمنحك التحكم في العملية، ويكون أسرع للمشاريع الأكبر.

الخطوة 2. أنشئ مستودع GitHub وادفع التغييرات إليه.

يمكنك فعل ذلك يدويًا عبر واجهة GitHub + git remote add origin ...، لكن يمكن لـ Claude Code القيام بذلك بنفسه:

/commit-push-pr Initial Next.js app generated with Claude Code

أو قل ببساطة: “Commit everything and push it to a new repository my-vibe-app under my account.” سيستخدم Claude واجهة gh لإنشاء مستودع خاص (أو عام) وإجراء أول عملية دفع. المصدر: أمر Claude Code الرسمي.

الخطوة 3. أنشئ تطبيقًا في Coolify.

في لوحة تحكم Coolify، انقر على + New → Application. سيُفتح نموذج:

  1. Source — اختر github-main (GitHub App الذي ربطته في H2 السابقة)
  2. Repository — اختر my-vibe-app من القائمة
  3. Branch — main
  4. Build Pack — سيكتشفه Coolify تلقائيًا. إذا كان هناك Dockerfile، فسيستخدم dockerfile. وإلا، فسيستخدم nixpacks. يمكنك تجاوز الاختيار يدويًا.
  5. Domain — اترك القيمة المقترحة (نطاق مؤقت) الآن؛ فهي مؤقتة وستستبدلها بنطاقك لاحقًا
  6. Port — 3000 افتراضيًا لـ Next.js

احفظ.

الخطوة 4. أضف متغيرات البيئة.

في التطبيق الذي أنشأته، افتح تبويب Environment Variables. أضف المتغيرات واحدًا تلو الآخر:

DATABASE_URL=postgresql://user:pass@db-host:5432/mydb
NODE_ENV=production
ANTHROPIC_API_KEY=sk-ant-...

إذا لم تكن لديك قاعدة بيانات، فأنشئ واحدة مباشرةً في Coolify: + New → Database → PostgreSQL. سيشغّل Coolify حاوية Postgres خلال 30 ثانية ويوفر عنوان DATABASE_URL داخليًا بصيغة postgresql://postgres@postgres-xyz:5432/postgres — أضِفه إلى تطبيقك.

تُشفّر جميع المتغيرات في قاعدة بيانات Coolify ولا تظهر في سجلات البناء.

الخطوة 5. انقر على Deploy.

في الزاوية العلوية اليمنى يوجد زر Deploy أزرق. ستظهر السجلات المباشرة في تبويب Logs:

[stage: clone]   Cloning '<repository-url-from-github>'
[stage: build]   Detected Next.js, using Nixpacks
[stage: build]   Installing Node 20, npm 10
[stage: build]   npm install (245s)
[stage: build]   npm run build (87s)
[stage: deploy]  Creating container my-vibe-app-xyz
[stage: deploy]  Container started, health check passed
[stage: proxy]   Traefik routing configured
[stage: ssl]     Let's Encrypt cert issued

يستغرق البناء الأول 3–5 دقائق (إذ يجلب صورة Node الأساسية ويثبّت التبعيات). تستغرق عمليات البناء التالية 60–90 ثانية بفضل التخزين المؤقت لطبقات Docker.

عندما تصبح الحالة Running، انسخ عنوان التطبيق من حقل Domains في Coolify وافتحه نفسه في المتصفح. استخدمه كـ <app-url-from-coolify> أدناه؛ فالوسم بين الأقواس عنصر نائب وليس عنوانًا حقيقيًا. يفترض أن تظهر صفحتك الرئيسية مع HTTPS جاهزًا للاستخدام. يستخدم Coolify خدمة DNS مجانية بنمط wildcard للنطاقات المؤقتة، بحيث تتمكن من فتح الموقع مباشرةً من دون إعداد DNS خاص بك.

الخطوة 6. تحقّق من أن كل شيء يعمل.

افتح عنوان التطبيق من الخطوة السابقة مع إضافة /api/users، مثل <app-url-from-coolify>/api/users دون تكرار الشرطة. هذا مسار JSON المنشأ في الخطوة 1؛ أما الجذر فالصفحة الرئيسية. إذا ظهر خطأ 500، فسترى تتبّع المكدس في تبويب Logs. أكثر المشكلات شيوعًا في أول عملية نشر هي أن DATABASE_URL يشير إلى قاعدة بيانات غير موجودة. أصلحها بإنشاء نسخة PostgreSQL في Coolify (راجع الخطوة 4 أعلاه) واستبدال DATABASE_URL.

15 دقيقة، ابتداءً من لحظة طلب VPS. في المثال الأصلي، استغرق سير العمل هذا 12–18 دقيقة على خادم جديد.

كيفية إعداد نطاق مخصص وHTTPS

الخلاصة الأساسية

يرتبط النطاق المخصص في 3 خطوات: أنشئ سجل DNS من النوع A يشير إلى عنوان IP للخادم، وأدخل نطاقك في إعدادات Coolify بدلًا من النطاق المؤقت، وفعّل HTTPS التلقائي، ثم انقر على Redeploy. سيصدر Let's Encrypt شهادة SSL تلقائيًا بعد 2–3 دقائق من انتشار DNS (وعادةً ما يستغرق ذلك 5–30 دقيقة). الشرط الأساسي أن يكون DNS قد بدأ بالفعل بحلّ النطاق عند النقر على Redeploy؛ وإلا سيفشل التحقق من Let's Encrypt وسيتعين عليك الانتظار 12 دقيقة قبل المحاولة التالية.

الخطوة 1. أنشئ سجل DNS من النوع A في لوحة تحكم مسجّل النطاق.

تستخدم الأمثلة الأصلية نطاقات مستضافة لدى Reg.ru أو Beget أو Timeweb. العملية واحدة:

نوع السجلالاسمالقيمة
Aapp (أو @ للنطاق الجذر)1.2.3.4 (عنوان IP للخادم)

احفظه، وافتح وحدة تحكم، ثم تحقّق:

dig app.example.com +short
# Should return 1.2.3.4

إذا لم يُرجع شيئًا أو أعاد عنوان IP مختلفًا، فهذا يعني أن DNS لم ينتشر بعد. انتظر 5–30 دقيقة.

الخطوة 2. أدخل نطاقك في Coolify.

في التطبيق، افتح تبويب Configuration → General. في حقل Domains، استبدل عنوان التطبيق المؤقت المنسوخ من Coolify بـ https://app.example.com مستخدمًا نطاقك المضبوط. فعّل Automatic HTTPS (يكون مفعّلًا عادةً افتراضيًا).

احفظ وانقر على Redeploy.

الخطوة 3. انتظر شهادة Let's Encrypt.

ستعرض سجلات البناء:

[stage: ssl]  Requesting Let's Encrypt cert for app.example.com
[stage: ssl]  HTTP challenge sent to /.well-known/acme-challenge/xxx
[stage: ssl]  Validation passed, cert issued
[stage: ssl]  Cert installed, HTTPS enabled

خلال 2–3 دقائق، سيكون موقعك متاحًا على https://app.example.com مع رمز قفل أخضر في شريط العنوان.

ما الذي قد يعطّل Let's Encrypt (أبرز 3 مشكلات من دليل استكشاف الأخطاء وإصلاحها الرسمي):

  1. المنفذ 80 مغلق في جدار الحماية. يتحقق Let's Encrypt باستخدام تحدٍّ عبر HTTP — إذ يرسل طلبًا إلى http://app.example.com/.well-known/acme-challenge/xxx. لن ينجح التحقق من دون المنفذ 80. افتحه في جدار الحماية لدى المزوّد.
  2. وكيل Cloudflare مفعّل (السحابة البرتقالية). يعترض طلب Let's Encrypt ويعيد صفحة بديلة خاصة به — فيفشل التحقق. الحل هو التبديل إلى “DNS only” (السحابة الرمادية) أو إعداد تحدٍّ عبر DNS-01 باستخدام Cloudflare API.
  3. لم ينتشر DNS بعد. إذا أنشأت سجل A قبل 30 ثانية ونقرت فورًا على Redeploy، فلن يرى Let's Encrypt نطاقك. انتظر 5–30 دقيقة حتى ينتشر DNS عبر الخوادم.

حد المعدل لدى Let's Encrypt: 5 محاولات فاشلة في الساعة لنطاق واحد، مع استعادة المعدل بمقدار محاولة واحدة كل 12 دقيقة. إذا بلغت الحد، فلا تنقر على Redeploy 10 مرات متتالية؛ افحص السجلات، وأصلح المشكلة، ثم حاول مجددًا بعد 12 دقيقة.

كيف يدير Claude Code Coolify عبر MCP؟

الخلاصة الأساسية

من خلال بروتوكول Model Context Protocol، يحصل Claude Code على وصول مباشر إلى Coolify API — يمكنك أن تقول “deploy this application” لبدء عملية بناء، أو التحقق من الحالة، أو قراءة السجلات، أو تحديث متغيرات البيئة. هناك ثلاثة خيارات: forsonny/Coolify-MCP-Server (أساسي، 7 فئات من العمليات)، وdazeb/coolify-mcp-enhanced (أكثر من 15 أداة إضافية مع نشر قاعدة بيانات بنقرة واحدة)، وajmcclary/Coolify-Manager (Claude Skill مبني حول CLI الرسمي). بدءًا من v4.1.0 (May 18, 2026)، يوفر Coolify نقطة نهاية MCP أصلية من دون خوادم خارجية — لكنها للقراءة فقط في الوقت الحالي.

Model Context Protocol (MCP) معيار من Anthropic يتيح لـ Claude Code التواصل مع أنظمة خارجية (راجع دليل خوادم MCP لمزيد من المعلومات). اربط خادم MCP وسيحصل Claude على مجموعة من الأدوات التي يمكنه استدعاؤها. هناك ثلاثة خوادم جاهزة لـ Coolify، بالإضافة إلى خيار أصلي واحد.

الخيار 1. forsonny/Coolify-MCP-Server-for-Claude-Code — أساسي.

ما يمكنه فعله:

  • التطبيقات: إنشاء وتشغيل وإيقاف وإعادة تشغيل
  • الخدمات: عرض قائمة وإنشاء وتشغيل/إيقاف/إعادة تشغيل
  • عمليات النشر: عرض ما يعمل، والجلب حسب UUID
  • الفرق والأعضاء: عرض قائمة والحصول على المعلومات
  • مفاتيح SSH: عرض قائمة وإنشاء
  • متغيرات البيئة: عمليات CRUD كاملة للتطبيقات والخدمات
  • معلومات الخوادم: النطاقات لكل خادم، والحالة الصحية، والإصدار

التثبيت:

git clone '<OFFICIAL_URL>'
cd Coolify-MCP-Server-for-Claude-Code
npm install
npm run build
# In .env:
#   COOLIFY_BASE_URL=https://coolify.example.com
#   COOLIFY_API_TOKEN=[from Coolify Settings → API Tokens]
npm run setup  # automatically configures Claude Code

بعد ذلك، يمكنك كتابة هذا في Claude Code:

Show the status of the my-vibe-app application in Coolify and the 3 latest deployments.

سيعيد Claude جدولًا.

الخيار 2. dazeb/coolify-mcp-enhanced — متقدم (موصى به).

ما يضيفه إلى المجموعة الأساسية:

  • نشر PostgreSQL / Redis / MinIO بنقرة واحدة عبر الذكاء الاصطناعي — اطلب “set up Postgres for me”، وسيُنشئ حاوية ويعيد DATABASE_URL
  • مراقبة آنية + استخدام الموارد — CPU/RAM لكل تطبيق في الوقت الفعلي
  • تحديثات مجمّعة لإعدادات env — تحديث 20 متغيرًا بأمر واحد
  • دعم Docker Compose — نشر تطبيقات متعددة الخدمات

الإعداد لـ Claude Code (.mcp.json في جذر المشروع):

{
  "mcpServers": {
    "coolify-enhanced": {
      "command": "node",
      "args": ["/path/to/coolify-mcp-enhanced/dist/index.js"],
      "env": {
        "COOLIFY_ACCESS_TOKEN": "your-token-here",
        "COOLIFY_BASE_URL": "https://coolify.example.com"
      }
    }
  }
}

الخيار 3. ajmcclary/Coolify-Manager — Claude Skill مبني حول CLI.

ليس خادم MCP، بل Claude Code Skill يغلّف واجهة Coolify CLI الرسمية. ويتضمن:

  • تشخيص الحالة الصحية للخدمات والحاويات
  • تشخيص شهادات SSL
  • دعم مثيلات متعددة (إذا كان لديك عدة خوادم Coolify)
  • وصفات لاستكشاف الأخطاء وإصلاحها

التثبيت: نزّل المهارة وضعها في ~/.claude/skills/coolify-manager/. سيلتقطها Claude Code ويعرض استخدامها للمهام المناسبة.

الخيار 4 (جديد في May 2026). MCP أصلي في Coolify v4.1.0.

يذكر سجل التغييرات للإصدار v4.1.0 المؤرخ في May 18, 2026:

أُضيف دعم MCP على مستوى المثيل، مع أدوات للقراءة فقط لموارد Coolify وAPI وواجهة المستخدم.

يوفر Coolify الآن نقطة نهاية MCP خاصة به — يمكنك ربط Claude Code مباشرةً من دون خوادم خارجية. وهي للقراءة فقط حاليًا (قوائم التطبيقات والحالات والإعدادات)، ولا تتضمن عمليات تعديل. لكن ذلك يكفي لمعظم المهام مثل «أخبرني عن البنية التحتية».

اربطه عبر .mcp.json:

{
  "mcpServers": {
    "coolify-native": {
      "url": "https://coolify.example.com/api/v1/mcp",
      "headers": {
        "Authorization": "Bearer <your-api-token>"
      }
    }
  }
}

انتظر اكتمال إمكانية الكتابة في MCP الأصلي في v4.2 أو v4.3 — فقد وعد فريق Coolify بذلك بحلول نهاية 2026.

5 عوائق في أول عملية نشر — وكيفية تجنبها

الخلاصة الأساسية

أكثر الأخطاء شيوعًا في أول عملية نشر هي نقص RAM، وإغلاق المنفذ 80، وتعطيل وكيل Cloudflare لـ Let's Encrypt، وفشل UFW في حماية Docker، واختيار PAT بدلًا من GitHub App. كلها مغطاة في التوثيق الرسمي، لكن من السهل الاصطدام بها من دون خبرة عملية. فيما يلي قائمة تحقق من 5 نقاط تستند إلى التجربة الأصلية لتثبيت Coolify للمرة الأولى.

العائق 1: أقل من 2 GB RAM — يفشل التثبيت بنفاد الذاكرة (OOM).

العَرَض: يصل curl install.sh إلى docker pull coolify/coolify، ويتوقف عند 70%، ثم تُقتل العملية مع Killed (signal 9). وتعرض سجلات dmesg | tail الرسالة Out of memory: Killed process.

الحل:

# Create a 4 GB swap file to solve the problem temporarily
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

على المدى الطويل، رقِّ الذاكرة إلى 4 GB RAM. يعمل Coolify مع swap، لكن عمليات بناء مشاريع Next.js الكبيرة قد تفشل.

العائق 2: UFW مفعّل، لكن Docker لا يزال يفتح المنافذ.

العَرَض: فعّلت UFW وأغلقت جميع المنافذ باستثناء 22، لكن لا يزال الوصول إلى تطبيقك ممكنًا عبر الإنترنت على منفذ عشوائي (مثل 3000).

السبب، وفق التوثيق الرسمي:

يعمل Coolify على Docker، الذي يستخدم قواعد iptables قائمة على NAT ويمكنه تجاوز جدران الحماية التقليدية في Linux مثل UFW.

— توثيق Coolify (الجدار الناري)، https://coolify.io/docs/knowledge-base/server/firewall

الحل: استخدم جدار الحماية في لوحة تحكم المزوّد، وليس UFW. لدى Timeweb / Selectel / Aeza قسم “Firewall” أو “Network → Firewall” لضبط القواعد على مستوى الشبكة الافتراضية — حيث تُطبَّق قبل وصول الحزم إلى Docker.

بديل آخر هو ufw-docker، وهو نص برمجي يرقّع UFW ليتوافق مع Docker. لكن النقر في لوحة التحكم أسهل من ذلك.

العائق 3: وكيل Cloudflare (السحابة البرتقالية) يعطّل Let's Encrypt.

العَرَض: بعد Redeploy، تعرض السجلات Let's Encrypt validation failed - challenge returned 403.

السبب: يمرّر Cloudflare طلب HTTP من Let's Encrypt عبر وكيله ويعيد صفحته الخاصة بدلًا من ملف التحدي.

الحل — اختر أحد الخيارين:

  1. بدّل إلى “DNS only” (السحابة الرمادية في Cloudflare). الجانب السلبي: ستفقد CDN من Cloudflare والحماية.
  2. أعد إعداد تحدٍّ DNS-01 عبر Cloudflare API. في Coolify، انتقل إلى Settings → SSL Configuration، واختر مزوّد Cloudflare، وأدخل رمز API مع أذونات Zone:Read وDNS:Edit. سيتحقق Let's Encrypt عبر سجل TXT بدلًا من HTTP.

الخيار الثاني أصعب إعدادًا، لكنه يحافظ على وكيل Cloudflare.

العائق 4: PAT بدلًا من GitHub App — لا تعمل معاينات PR.

العَرَض: ربطت GitHub باستخدام Personal Access Token؛ كل شيء يعمل، لكن لا تُنشأ معاينات النشر لطلبات PR. فتحت طلب PR على GitHub، لكن لم يظهر شيء في Coolify.

السبب: معاينات PR ميزة حصرية لـ GitHub App. لا يستقبل PAT أحداث pull_request عبر خطاف ويب.

الحل: أعد ربط GitHub عبر App. Sources → Add → GitHub App → أكمل المعالج. يمكنك حذف مصدر PAT القديم.

العائق 5: «Coolify == Vercel» ليس صحيحًا تمامًا.

ما لا يفعله Coolify جاهزًا للاستخدام:

VercelCoolifyما العمل
CDN عالميلااستخدم Cloudflare أمامه (مجاني للمحتوى الثابت)
Incremental Static Regenerationلالا يعمل revalidatePath إلا على خادمك
تحسين الصورلااستخدم next/image مع محمّل محلي أو Cloudflare Images
التوسّع التلقائي عند الذروةلاوسّع يدويًا؛ رقِّ VPS لديك
Edge Functionsلااستخدم مسارات API العادية

إذا كان مشروعك SaaS عالي الزيارات وله جمهور عالمي ومتطلبات زمن استجابة تبلغ < 100 ms عالميًا، فإن Coolify غير مناسب؛ اختر Vercel Enterprise. أما إذا كنت مبرمجًا بالبرمجة الإبداعية ولديك نموذج أولي تختبره مع 100–1,000 مستخدم يوميًا، فسيغطي Coolify كل شيء.

من تحليل صريح للاستضافة الذاتية:

تشير 15 دقيقة في عنوان هذا الدليل إلى المسار السهل لأول عملية نشر لمشروع واحد. أما إعداد بنية تحتية كاملة مع المراقبة والنسخ الاحتياطية والتنبيهات فيستغرق مساءً أو اثنين. كن صريحًا مع نفسك.

كم ستوفر خلال عام مقارنةً بـ Vercel؟

الخلاصة الأساسية

هناك «ضريبة وقت خفية» تبلغ 5–10 ساعات للإعداد الأولي وساعة إلى ساعتين شهريًا للصيانة.

أرقام Vercel أدناه تقديرات سيناريوهات المقال في مايو 2026 وليست عروضًا حالية. وهي جانب واحد فقط من المقارنة. لا تتطلب Coolify ذاتية الاستضافة رسم ترخيص، لكن VPS والنسخ الاحتياطية والتخزين والزيارات والتشغيل تكلف مالًا. احصل على عرض يستوفي المتطلبات أعلاه؛ فلم يرد سعر VPS رقمي في هذه السيناريوهات، ولذلك لا يوجد سند لادعاء توفير ثابت.

ليكن C إجمالي فاتورة البنية الشهرية للخادم وتخزين النسخ والزيارات الإضافية والمراقبة وأي لوحة مدفوعة. احسب كل نفقة مرة. وليكن r تكلفة ساعة التشغيل بعملة واحدة. تقدير الوقت بالمقال 5–10 ساعات أولية و1–2 ساعة شهريًا؛ أي 17–34 ساعة في السنة الأولى و12–24 ساعة في السنوات التالية.

السيناريوتقدير Vercel الشهريVercel سنويًابنية Coolify شهريًاإجمالي ملكية Coolify في السنة الأولى مع العملتوفير السنة الأولى مقابل Vercel
نموذج أولي، 100,000 زيارة شهريًا$20 أساسي + نحو $5 زيارات = $25$300C12C + (17–34)r$300 − 12C − (17–34)r
خمسة مشاريع على VPS$20 أساسي + $30 زيارات ودوال = $50$600C12C + (17–34)r$600 − 12C − (17–34)r
ثلاثة مطورين، خمسة مشاريع$60 مقاعد + $30 زيارات = $90$1,080C12C + (17–34)r$1,080 − 12C − (17–34)r

استخدم C مختلفة لكل سيناريو إذا اختلف حجم الخادم المطلوب. للمقارنة الشهرية، وزع وقت التهيئة على 12 شهرًا: معادل السنة الأولى C + (17–34)r/12، وتكلفة السنوات اللاحقة 12C + (12–24)r. تقارن الصيغ تقدير Vercel المذكور بنفقات الاستضافة الذاتية؛ أضف تكلفة تشغيل مقابلة لـ Vercel أيضًا. يعني توفير سالب أن الاستضافة الذاتية أغلى بمدخلاتك. لا تحسب راتب المهندس كاملًا مرة أخرى إذا شمله r.

قبل الانتقال، املأ C من عرض مزود حقيقي وخطة نسخ احتياطي، واختر r، وقارن الاستخدام الفعلي شهرًا. دون ذلك، يدعم المقال نموذج تكلفة وليس ادعاء توفير بالدولار.

الفائدة الأساسية ليست المال. عندما تنتقل إلى Coolify، يختفي تصنيف «يعتمد على سياسة الدفع لشخص آخر». لن تعود بحاجة إلى بطاقات وسيطة افتراضية تفرض عمولة 20%.

Coolify ليس نسخة أرخص من Vercel. إنه فئة مختلفة من المنتجات: أنت تملك البنية وتتحمل مسؤوليتها؛ ويتوقف التوفير على تكاليفها ووقت تشغيلها الفعليين.

إذا كان نشر نموذج أولي أول مهمة لك بعد التوليد في Claude Code، فإن إدارة البيئة (env والأسرار والمهام المجدولة والنسخ الاحتياطية) جزء من هندسة السياق. من دون هيكل يحدد «أين يوجد كل شيء»، يضيع Claude وتخسر وقتًا مع كل تغيير. تشمل التهيئة الكاملة: نسخة الذكاء الاصطناعي (Skills وSubagents المصممة وفق منهجيتك) + العقل الثاني (قاعدة معرفة المشروع) + هندسة السياق (Plan Mode و/compact وبيئة التنفيذ). هذه هي الركائز الثلاث التي لا يعمل الذكاء الاصطناعي من دونها إلا بالهلوسة.

سير عمل السياق الكامل: نسخة الذكاء الاصطناعي + العقل الثاني + هندسة السياق.

تجد مزيدًا من المواد على Ailoot.

المزيد من التفاصيل

أسئلة شائعة

أي عنوان يعيد JSON بعد النشر؟

انسخ عنوان التطبيق الظاهر في Domains لدى Coolify وافتح مسار /api/users له. الجذر هو الصفحة الرئيسية؛ و/api/users مسار JSON المحدد في المشروع المثال.

كيف أحسب توفير الاستضافة الذاتية؟

اجمع فاتورة VPS والنسخ والتخزين والزيارات والمراقبة واللوحة الاختيارية الشهرية في C. إجمالي ملكية السنة الأولى 12C مضافًا إليه 17–34 ساعة بتكلفة ساعتك؛ قارنه بتقدير Vercel السنوي وأدرج تكاليف تشغيل مقابلة في الجانبين.

جميع المقالات