انتقل إلى المحتوى الرئيسي
العودة إلى الفئة

تثبيت Coolify: نشر التطبيقات مع PaaS المستضاف ذاتياً

تثبيت Coolify، تكامل Docker وGit، نشر التطبيقات، إدارة قواعد البيانات، شهادات SSL، متغيرات البيئة وبديل PaaS المستضاف ذاتياً لـ Heroku/Netlify.

وقت القراءة: 15 دقيقة الاستضافة الذاتية
coolifypaasself-hostingdeploymentdockergitssl

جدول المحتويات

تثبيت Coolify: نشر التطبيقات مع PaaS المستضاف ذاتياً

Coolify هو بديل مفتوح المصدر ومستضاف ذاتياً لمنصات السحابة مثل Heroku وNetlify وVercel. مع Coolify على خادمك الخاص، يمكنك إدارة تطبيقاتك وقواعد بياناتك وخدماتك بسهولة. تدعم هذه المنصة المبنية على Docker النشر التلقائي عند دفع الكود عبر تكامل Git.

ما هو Coolify؟

Coolify هو حل PaaS حديث يتيح لك إدارة خوادم وتطبيقات متعددة من واجهة واحدة. الميزات الرئيسية:

  • SSL تلقائي: شهادات SSL مجانية عبر Let's Encrypt
  • تكامل Git: دعم GitHub وGitLab وBitbucket
  • متعدد الخوادم: إدارة خوادم متعددة من لوحة واحدة
  • خدمات قواعد البيانات: PostgreSQL وMySQL وRedis وMongoDB
  • Docker Compose: نشر ملفات compose الموجودة مباشرة
  • Webhooks: محفزات النشر التلقائي

متطلبات النظام

  • Ubuntu 20.04/22.04 أو Debian 11/12
  • ذاكرة RAM لا تقل عن 2 جيجابايت (يُنصح بـ 4 جيجابايت)
  • مساحة قرص لا تقل عن 30 جيجابايت
  • يجب ألا يكون Docker مثبتاً (Coolify يثبت Docker الخاص به)

التثبيت

يتم تثبيت Coolify بأمر curl واحد:

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

يقوم سكريبت التثبيت تلقائياً بـ:

  • تثبيت Docker وDocker Compose
  • تنزيل وتشغيل حاويات Coolify
  • تهيئة الشبكات والأحجام المطلوبة
  • قواعد جدار الحماية (المنفذ 8000)

بعد التثبيت، افتح المتصفح:

http://IP_الخادم:8000

عند الإعداد الأول، سيُطلب منك إنشاء حساب مسؤول. قم بتعيين كلمة مرور قوية.

الإعداد الأولي

إنشاء حساب المسؤول

عند تسجيل الدخول الأول، قم بتعيين البريد الإلكتروني وكلمة المرور. يتم تخزين هذه البيانات في قاعدة بيانات Coolify.

إضافة خادم

يضيف Coolify تلقائياً الخادم الذي تم تثبيته عليه (localhost). لإضافة خوادم إضافية:

  1. ServersAdd Server
  2. أدخل تفاصيل اتصال SSH (IP، المنفذ، اسم المستخدم)
  3. أضف SSH private key
  4. اختبر الاتصال بـ Validate & Save
hljs bash
# إنشاء مفتاح SSH لاتصال Coolify بالخوادم البعيدة
ssh-keygen -t ed25519 -C "coolify@myserver"
# إضافة المفتاح العام إلى الخادم البعيد
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@remote-server

إضافة مصادر Git

تكامل GitHub

  1. SourcesAdd SourceGitHub App
  2. أنشئ OAuth App أو GitHub App على GitHub
  3. أدخل Client ID وClient Secret
  4. Callback URL: http://IP_الخادم:8000/auth/github

تكامل GitLab

hljs bash
# أنشئ Personal Access Token على GitLab
# النطاقات المطلوبة: api, read_user, read_repository
  1. SourcesAdd SourceGitLab
  2. أدخل URL GitLab وAccess Token
  3. اختبر الاتصال

نشر التطبيقات

إنشاء مشروع جديد

  1. ProjectsNew Project
  2. أدخل اسم المشروع والوصف
  3. اختر Environment (production، staging، إلخ)

إضافة تطبيق

  1. داخل المشروع New ResourceApplication
  2. اختر مصدر Git
  3. اختر المستودع والفرع
  4. اختر build pack:
    • Nixpacks: الكشف التلقائي (Node.js، Python، PHP، Ruby، إلخ)
    • Dockerfile: استخدم Dockerfile الخاص بك
    • Docker Compose: ملف compose.yml
    • Static: HTML/CSS/JS ثابت
hljs yaml
# مثال: Dockerfile لتطبيق Node.js
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node", "server.js"]

متغيرات البيئة

انتقل إلى تبويب Environment Variables في إعدادات التطبيق:

hljs bash
# أمثلة على متغيرات البيئة
NODE_ENV=production
DATABASE_URL=postgresql://user:pass@db:5432/myapp
REDIS_URL=redis://redis:6379
SECRET_KEY=مفتاحك-السري-هنا
PORT=3000

أضف المعلومات الحساسة (مفاتيح API، كلمات المرور) كمتغيرات بيئة. لا تكتبها أبداً في الكود المصدري.

تهيئة النطاق وSSL

  1. تبويب Domains في إعدادات التطبيق
  2. أدخل اسم النطاق: app.example.com
  3. فعّل خيار SSL (Let's Encrypt تلقائي)
  4. أنشئ سجل DNS A: app.example.com → IP_الخادم
hljs bash
# التحقق من سجل DNS
nslookup app.example.com
dig app.example.com A

خدمات قواعد البيانات

إعداد PostgreSQL

  1. New ResourceDatabasePostgreSQL
  2. اختر الإصدار (14، 15، 16)
  3. عيّن اسم المستخدم وكلمة المرور
  4. انقر على Deploy
hljs bash
# تفاصيل اتصال PostgreSQL في Coolify
# URL داخلي (للتطبيقات على نفس الخادم):
postgresql://coolify:كلمة_المرور@postgres:5432/mydb

# URL خارجي (للوصول الخارجي):
postgresql://coolify:كلمة_المرور@IP_الخادم:المنفذ/mydb

إعداد Redis

hljs bash
# New Resource → Database → Redis
# الإصدار: 7.x
# الاتصال الداخلي:
redis://default:كلمة_المرور@redis:6379

النسخ الاحتياطي لقواعد البيانات

يوفر Coolify وظيفة النسخ الاحتياطي التلقائي:

  1. تبويب Backups في إعدادات قاعدة البيانات
  2. عيّن تكرار النسخ الاحتياطي (يومي، أسبوعي)
  3. أضف تخزيناً متوافقاً مع S3 (AWS S3، MinIO، Cloudflare R2)
hljs bash
# نسخ احتياطي يدوي
coolify backup create --database postgres-id

# قائمة النسخ الاحتياطية
coolify backup list

النشر مع Docker Compose

يمكنك استيراد ملفات docker-compose.yml الموجودة مباشرة إلى Coolify:

hljs yaml
# مثال docker-compose.yml
version: '3.8'
services:
  app:
    image: myapp:latest
    environment:
      - NODE_ENV=production
      - DATABASE_URL=${DATABASE_URL}
    ports:
      - "3000:3000"
    depends_on:
      - db
  db:
    image: postgres:16
    environment:
      POSTGRES_DB: myapp
      POSTGRES_USER: ${DB_USER}
      POSTGRES_PASSWORD: ${DB_PASSWORD}
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data:

النشر التلقائي (Webhook)

قم بإعداد webhooks للنشر التلقائي بعد git push:

  1. تبويب Webhooks في إعدادات التطبيق
  2. انسخ URL الـ webhook
  3. أضفه إلى إعدادات مستودع GitHub/GitLab:
hljs bash
# إعدادات GitHub Webhook:
# Payload URL: https://coolify.example.com/webhooks/github
# Content type: application/json
# Secret: السر المنسوخ من Coolify
# Events: Push events

تحديث Coolify

hljs bash
# تحديث Coolify إلى أحدث إصدار
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash

# أو من واجهة الويب:
# Settings → Updates → Update Coolify

استكشاف الأخطاء وإصلاحها

hljs bash
# عرض سجلات Coolify
docker logs coolify

# قائمة جميع حاويات Coolify
docker ps | grep coolify

# إعادة تشغيل Coolify
docker restart coolify

# سجلات البروكسي (Traefik)
docker logs coolify-proxy

يعمل Coolify بشكل ممتاز على خوادم REXE VPS. مع 4 جيجابايت RAM و2 vCPU، يمكنك إدارة المشاريع الصغيرة والمتوسطة بسهولة.