# كيف أنشر أول تطبيق لي على Coolify؟

https://www.seturack.com/ar/qaidat-al-marifa/maqala/how-do-i-deploy-my-first-app-on-coolify

1. في اللوحة افتح **خوادمي** ثم انقر خادمك.
2. في تبويب **نظرة عامة**، انتظر حتى يذكر صف **التطبيق** «Coolify جاهز».
3. افتح رابط **عنوان اللوحة** وسجّل الدخول من صفّي **البريد الإلكتروني** و**كلمة المرور**. الخادم ومشروع أول جاهزان.

## ربط مستودعك

1. في صفحة **Projects**، افتح **My first project** ثم **production**، واضغط **New resource**.
2. للمستودع العام، اختر **Public Git Repository** وأدخل العنوان واضغط **Check repository**.
3. للمستودع الخاص، اضغط أولًا **Generate ED25519** في صفحة **Private Keys** ضمن **Keys & Tokens** وأضف المفتاح العام إلى **Deploy keys** الخاصة بالمستودع في GitHub. ثم اختر **Private Git Repository (with Deploy Key)** وأدخل `git@github.com:user/project.git`.
4. أبقِ **Build pack** على **Railpack** واضغط **Continue**. تصنّف Coolify أداة Railpack على أنها تجريبية (beta)، فاختر Dockerfile الخاص بك إن واجهت مشكلة.
5. أدخل متغيراتك في صفحة **Environment Variables** واضغط **Deploy**. تجد عنوان اختبار بـ HTTPS في صفحة **Domains**.

## النشر عبر git push

1. في صفحة **Webhooks** الخاصة بالتطبيق، انسخ **Webhook URL** من قسم GitHub، وأدخل قيمة عشوائية من 16 حرفًا على الأقل في **Webhook secret** واحفظ.
2. في GitHub، افتح **Settings** الخاصة بالمستودع، وانتقل إلى **Webhooks** واضغط **Add webhook**. استخدم ذلك العنوان في **Payload URL**، و`application/json` في **Content type**، والقيمة نفسها في **Secret**، وحدث push وحده.

من ذلك الحين، يبني كل `git push` إلى الفرع المختار نسخة جديدة وينشرها. بعد تغيير متغير يبدأ بـ `NEXT_PUBLIC_` اضغط **Redeploy**. وإذا نفدت الذاكرة أثناء البناء، [ارفع الحجم من لوحتك](https://www.seturack.com/ar/qaidat-al-marifa/maqala/how-to-scale-server-up-or-down).

## نطاقك

وجّه سجل A إلى عنوان IP الخادم. في صفحة **Domains**، استخدم **Add domain** واختر `https` وأدخل النطاق واحفظ ثم اضغط **Redeploy**. تحصل Coolify على الشهادة.

## إغلاق المنافذ 8000 و6001 و6002

بعد أن تُفتح اللوحة على عنوان HTTPS الخاص بها، لا حاجة إلى هذه المنافذ. يتجاوز Docker الأمر ufw في المنافذ التي ينشرها، لذا لن يغلقها ufw. [اتصل عبر SSH](https://www.seturack.com/ar/qaidat-al-marifa/maqala/how-to-connect-with-ssh) واتبع الطريقة الرسمية في Coolify:

`cd /data/coolify/source`

`printf 'services:\n coolify:\n ports: !override\n - "127.0.0.1:8000:8080"\n - "127.0.0.1:6001:6001"\n - "127.0.0.1:6002:6002"\n' > docker-compose.custom.yml`

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

يحدّث الأمر الأخير التثبيت وينتقل إلى إصدار أحدث إن وُجد. للتراجع، احذف الملف ونفّذ الأمر نفسه.

## من المفيد أن تعرف

تتصل Coolify عبر SSH بصفة root بمفتاحها الخاص. تعطيل دخول root أو حذف السطر `coolify` من `/root/.ssh/authorized_keys` يوقف عمليات النشر.

**ليس لديك خادم بعد؟** [اطلب خادمًا مثبتًا عليه Coolify](https://www.seturack.com/ar/coolify-vps): تختار الحجم وتدفع مقابل ما اخترته فقط.
