دليل النشر

استضافة Monica CRM على خادم افتراضي

انشر على VPS Cloud ←

دليل عملي

الاستضافة الذاتية

استضافة Monica CRM على خادم افتراضي

شبكتك المهنية من أثمن ما تملك. غير أنّ أغلب الأدوات التي تديرها تسرّبها إلى أطراف أخرى: جهات اتصال تتزامن مع السحابة، واشتراك في نظام إدارة علاقات يملك سجلّ علاقاتك، وجداول بيانات تفقد السياق الإنساني. يعالج ‏Monica CRM هذه المشكلات الثلاث: مدير علاقات مفتوح المصدر تنشره على خادمك الافتراضي في دقائق، وتبقى بياناته على عتاد تتحكّم فيه.

9 دقائق للقراءةعدد الخطوات: 8
المحتويات· المشكلة: جهات اتصالك مبعثرة، وهي تتسرّب1/10
  1. 01المشكلة: جهات اتصالك مبعثرة، وهي تتسرّب
  2. 02ما يفعله Monica CRM وما لا يفعله
  3. 03Monica CRM مقارنةً بالبدائل مفتوحة المصدر
  4. 04البنية: PHP/Laravel وMariaDB وRedis — ثلاث حاويات وخادم واحد
  5. 05نشر Monica CRM على ServOrbit: خطوة بخطوة
  6. 06من يستفيد من Monica على خادم افتراضي
  7. 07الخصوصية وملكية البيانات
  8. 08استكشاف الأخطاء: أكثر الأخطاء شيوعاً
  9. 09أول تسجيل دخول
  10. 10تحديث Monica إلى إصدار جديد

المشكلة: جهات اتصالك مبعثرة، وهي تتسرّب

اسأل نفسك أين تقيم بيانات جهات اتصالك فعلياً. هاتفك يتزامن مع ‏iCloud أو ‏Google. مزوّد بريدك يعرف كل اسم في صندوقك. اشتراكك في نظام إدارة العلاقات يسجّل كل ملاحظة في قاعدة بيانات ضمن ولاية قضائية لم تخترها. ولا تجيب أيّ من هذه الأدوات عن السؤال الأكثر إنسانية: متى تحدّثت إلى هذا الشخص آخر مرة، وفي أيّ موضوع؟

صُمّم ‏Monica CRM للإجابة عن ذلك تحديداً. إنه ليس أداة مبيعات: لا مسارات صفقات، ولا تقييم للعملاء المحتملين، ولا توقّعات للإيرادات. إنه مدير علاقات شخصية — دفتر خاص بالأشخاص الذين يهمّونك، يعمل على خادم تملكه.

ما يفعله Monica CRM وما لا يفعله

ينظّم ‏Monica علاقاتك كما يفعل شخص منتبه. لكل جهة اتصال صفحة تجمع:

- سجلّاً كاملاً للتفاعلات — كل ملاحظة ومكالمة ورسالة ولقاء دوّنته، بترتيب زمني.
- تذكيرات — أعياد ميلاد، ومناسبات، وتواريخ تحدّدها، ودعوات دورية لتجديد التواصل.
- السياق الشخصي — طبيعة العلاقة (صديق، زميل، موجّه)، والمهنة، والشركة، والحسابات الاجتماعية، وحقول حرة تعرّفها بنفسك.
- أحداث الحياة — خطوبة، ولادة، تغيير وظيفة، حدث صحي؛ المحطات التي تمنح العلاقة عمقاً.
- أفكار الهدايا — قائمة لكل جهة اتصال، وأثر ما قدّمته فعلاً.

ما لا يفعله ‏Monica: لا يتتبّع الصفقات أو الإيرادات، ولا يقيّم العملاء المحتملين، ولا يوفّر تقويماً مشتركاً للفريق. لنظام ‏CRM تجاري، ‏Twenty — المتاح أيضاً في كتالوج ‏ServOrbit — أكثر ملاءمة. ‏Monica يتولّى الطبقة الإنسانية.

Monica CRM مقارنةً بالبدائل مفتوحة المصدر

مرّر الجدول أفقيًا

‏Monica CRM‏HumHub Contacts‏Twenty CRM‏Duet
البيانات المُدارةعلاقات شخصية ومهنية: ملاحظات، تذكيرات، أحداث حياة، أفكار هداياشبكة اجتماعية داخلية: ملفات شخصية، مجموعات، فضاء عمل تعاوني‏CRM تجاري: جهات اتصال، صفقات، مسارات مبيعات، كائنات مخصّصةدفتر عناوين بسيط: بطاقات، وسوم، ملاحظات — بلا ميزات فريق
الرخصة‏AGPL-3.0‏AGPL-3.0‏AGPL-3.0‏MIT
متطلبات الخادم‏2 vCPU / 4 GB RAM — PHP وMariaDB وRedis‏4 vCPU / 8 GB RAM — PHP وMariaDB وElasticsearch موصى به‏4 vCPU / 8 GB RAM — Node.js وPostgreSQL وRedis‏1 vCPU / 1 GB RAM — SQLite وملف Go تنفيذي واحد
حالة الاستخدام الرئيسيةتتبّع الشبكة الشخصية، التذكيرات الإنسانية، تخزين بيانات الاتصال متوافقاً مع ‏GDPRإنترانت الشركة والشبكة الاجتماعية، مشاركة المعرفةإدارة علاقات العملاء، أتمتة المبيعات، ‏API GraphQL للتكاملاتدفتر عناوين خفيف، للاستخدام الفردي فقط

البنية: PHP/Laravel وMariaDB وRedis — ثلاث حاويات وخادم واحد

تنشر وصفة كتالوج ‏ServOrbit تطبيق ‏Monica في ثلاث حاويات ‏Docker:

1. monicahq/monicahq:apache — تطبيق ‏PHP/Laravel وخادم ‏Apache المدمج، معروض على المنفذ 8080 من المضيف.
2. mariadb:11 — قاعدة البيانات العلائقية التي تخزّن جهات الاتصال والتفاعلات والتذكيرات.
3. redis:7-alpine — ذاكرة التخزين المؤقت للجلسات والمهام في الطابور.

‏MariaDB هي قاعدة البيانات الوحيدة المدعومة رسمياً في ‏Monica v4. يشغّل التطبيق ترحيلات قاعدة البيانات تلقائياً عند أول إقلاع: لا خطوة منفصلة، وأول حساب يسجّل يصبح مسؤولاً.

البصمة الذاكراتية في وضع الخمول: أقل من 600 ميغابايت، مما يترك هامشاً للنظام ولـ‏Docker على ‏VPS Solo (4 GB).

نشر Monica CRM على ServOrbit: خطوة بخطوة

  1. اطلب خادماً افتراضياً يعمل بـ Ubuntu 24.04

    يكفي ‏VPS Solo (2 vCPU، 4 GB). تستهلك عملية ‏PHP في ‏Monica أقل من 256 ميغابايت، وتضيف ‏MariaDB بين 150 و300 ميغابايت. تترك ذاكرته البالغة 4 GB هامشاً حتى لدفتر ضخم (أكثر من 10 آلاف جهة اتصال) أو لفريق صغير. اختر ‏Ubuntu 24.04 LTS — وهو النظام المستهدف من ‏playbook النشر.

  2. انشر من كتالوج ServOrbit

    افتح مساحة عميلك في ‏ServOrbit، ثم ‏Marketplace ← تخطيط موارد المؤسسات وإدارة الأعمال ← ‏Monica CRM، واضغط على «نشر». يولّد الـ‏playbook تلقائياً ملف docker-compose.yml مع المتغيرات البيئية الأساسية:

    MONICA_APP_KEY=base64:<مفتاح-مُولَّد>
    DB_HOST=db
    DB_DATABASE=monica
    DB_USERNAME=monica
    DB_PASSWORD=<كلمة-مرور-مُولَّدة>
    CACHE_DRIVER=redis
    SESSION_DRIVER=redis
    QUEUE_CONNECTION=redis
    REDIS_HOST=redis

    يسحب الصور الثلاث ويشغّل المكدّس وينتظر فحص السلامة. تستجيب الواجهة في أقل من دقيقة.

  3. أنشئ حساب المسؤول فوراً

    افتح http://<عنوان-IP-الخادم>:8080 في المتصفح وسجّل. يحصل الحساب الأول تلقائياً على صلاحيات الإدارة. افعل ذلك حال توفّر الواجهة — يبقى التسجيل مفتوحاً لأي شخص حتى يقيّده المسؤول من الإعدادات ← الإدارة.

  4. استورد جهات اتصالك الحالية

    اذهب إلى الإعدادات ← الاستيراد وارفع ملف ‏vCard (‏‎.vcf) مُصدَّراً من هاتفك أو ‏Google Contacts أو ‏Apple Contacts أو ‏Outlook. يُزيل ‏Monica التكرارات بناءً على عنوان البريد ويُربط الحقول تلقائياً. يُدعم أيضاً استيراد ‏CSV مع تعيين الأعمدة. عند التصدير من ‏Google Contacts، اختر صيغة ‏vCard 3.0.

  5. اضبط SMTP لاستقبال التذكيرات بالبريد

    بدون ‏SMTP، لا تظهر التذكيرات إلا في لوحة التحكم. لتلقّيها في صندوقك، أضف هذه المتغيرات إلى ملف بيئة نسختك:

    MAIL_MAILER=smtp
    MAIL_HOST=smtp.المرسل.com
    MAIL_PORT=587
    MAIL_USERNAME=بريدك@example.com
    MAIL_PASSWORD=كلمة-المرور
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=monica@نطاقك.com
    MAIL_FROM_NAME="Monica CRM"

    مرسلات متوافقة: ‏AWS SES وMailgun وBrevo وPostmark. أعد تشغيل الحاوية بعد التعديل (docker compose restart app).

  6. ضع تذكيراتك الأولى

    افتح بطاقة جهة اتصال، اضغط «إضافة تذكير» واختر تاريخاً — لمرة واحدة أو متكرراً (أسبوعي، شهري، سنوي). اكتب ملاحظة قصيرة: «اتصل لتطمئن على أحواله»، «أرسل بطاقة عيد ميلاد». يعرض ‏Monica التذكيرات المستحقة يومياً على لوحة التحكم، ويرسلها بالبريد إذا كان ‏SMTP مضبوطاً.

  7. جدوِل نسخ MariaDB الاحتياطية

    قاعدة بيانات ‏MariaDB هي الحالة المستمرة الوحيدة لـ‏Monica. مقاربتان:

    عبر Backrest (موصى به): يوفّر كتالوج ‏ServOrbit تطبيق ‏Backrest — واجهة ويب لأداة ‏restic — تنسخ احتياطياً حجم ‏Docker الخاص بـ‏MariaDB إلى ‏Backblaze B2 أو ‏Wasabi أو ‏S3 وفق جدولة، مع إزالة تكرار وتشفير.

    تفريغ يدوي: نفّذ من المضيف:
    docker exec monica-db mysqldump -u monica -p<كلمة-المرور> monica > monica-$(date +%F).sql

    احتفظ أيضاً بملف .env وبحجم monica_storage (الصور ومرفقات الاستيراد).

من يستفيد من Monica على خادم افتراضي

  • المستقلون والاستشاريون — تدوّن كل تبادل مع العميل وتستعيد بعد ستة أشهر ما قيل، من دون دفع اشتراك لنظام إدارة علاقات.
  • المؤسسون وأصحاب الشبكات الواسعة — مستثمرون ومستشارون وشركاء ومرشّحون: كامل مدار العلاقات الذي تقوم عليه شركة ناشئة.
  • المهن الخاضعة للنظام الأوروبي لحماية البيانات (القانون، الصحة، المالية) — حيث لا يمكنك إيداع معلومات العملاء لدى مزوّد أجنبي.
  • كل من يريد أن يكون صديقاً أفضل — تذكيرات أعياد الميلاد وتتبّع أحداث الحياة وقوائم الهدايا هي الفارق بين من يتذكّر ومن ينسى.

الخصوصية وملكية البيانات

يُنشر ‏Monica برخصة ‏AGPL-3.0. ولا تتضمّن النسخة المستضافة ذاتياً أيّ قياس عن بُعد ولا اتصالاً بالناشر ولا خدمة تحليلات. يبقى دفترك وسجلّ تفاعلاتك وملاحظاتك الشخصية داخل نسخة ‏MariaDB التي تعمل على خادمك.

تقع النسخ الاحتياطية المنتظمة على عاتق المشغّل. ويوفّر كتالوج ‏ServOrbit تطبيق ‏Backrest — واجهة ويب لأداة ‏restic — القادر على نسخ وحدة تخزين ‏MariaDB الخاصة بـ‏Monica إلى ‏Backblaze B2 أو ‏Wasabi أو ‏S3، وفق جدولة، مع إزالة التكرار والتشفير.

لتفعيل إرسال البريد، اضبط MAIL_MAILER=smtp في البيئة ووجّه ‏Monica نحو مرسلة تحويل (‏AWS SES أو ‏Mailgun أو ‏Brevo). سيُرسل ‏Monica حينئذٍ التذكيرات وروابط إعادة تعيين كلمة المرور. بدون ‏SMTP، تبقى الوظيفتان متاحتَين من لوحة التحكم، وإن لم تصلا إلى صندوقك.

استكشاف الأخطاء: أكثر الأخطاء شيوعاً

الخطأ 1: فشل ترحيل قاعدة البيانات عند الإقلاع الأول

الرسالة في السجلات (docker compose logs app):

Illuminate\Database\QueryException: SQLSTATE[HY000] [2002] Connection refused

السبب: بدأت حاوية app قبل أن تكون ‏MariaDB جاهزة لقبول الاتصالات. الحل: أضف شرط depends_on مع service_healthy في docker-compose.yml، أو انتظر 20-30 ثانية ثم أعد تشغيل حاوية التطبيق وحدها: docker compose restart app. سيعيد ‏Monica تشغيل الترحيلات تلقائياً.

الخطأ 2: لا تُرسَل تذكيرات البريد

الرسالة في لوحة تحكم ‏Monica (الإعدادات ← السجلات) أو في سجلات الـ‏worker:

Swift_TransportException: Connection could not be established with host smtp.example.com [Connection refused #111]

السبب: MAIL_MAILER غير مضبوط أو المرسل ‏SMTP غير متاح من الحاوية. تحقّق من أن جدار حماية الخادم يسمح بالمنفذ 587 خارجياً (ufw allow out 587)، ومن وجود MAIL_HOST وMAIL_PORT وMAIL_USERNAME وMAIL_PASSWORD في البيئة. بعد التصحيح، أعد تشغيل الـ‏worker: docker compose restart worker.

الخطأ 3: انتهاء الجلسة في حلقة بعد التثبيت

العَرَض: يُعيد ‏Monica التوجيه إلى صفحة تسجيل الدخول عند كل إجراء، حتى بعد تسجيل دخول ناجح.
السبب: APP_KEY مفقود أو غير صالح — مفتاح ‏AES-256 الذي يشفّر ملفات تعريف ارتباط الجلسة. يجب أن يكون بالصيغة base64:<سلسلة-44-حرفاً>. إذا كان فارغاً أو مُولَّداً بشكل خاطئ، لا يمكن فكّ تشفير الجلسات.
الحل: ولِّد مفتاحاً صالحاً من داخل حاوية التطبيق وحدِّث البيئة:

docker compose exec app php artisan key:generate --show

انسخ القيمة المُعادة إلى APP_KEY في ملف .env، ثم أعد تشغيل المكدّس كاملاً: docker compose down && docker compose up -d.

أول تسجيل دخول

  1. أول تسجيل دخول

    افتحوا الرابط وأنشئوا حسابكم عبر نموذج التسجيل: يصبح هذا الحساب الأول مسؤول النسخة. افعلوا ذلك على الفور، فالتسجيل يبقى مفتوحاً حتى يقيّده مسؤول.

تحديث Monica إلى إصدار جديد

يتبع ‏Monica دورة إصدارات منتظمة على صورة ‏Docker الخاصة بـmonicahq/monicahq. للتحديث: اسحب الصورة الجديدة، أوقف المكدّس، أعد تشغيله — تعمل الترحيلات تلقائياً عند الإقلاع.

docker compose pull
docker compose down
docker compose up -d
docker compose logs -f app

تأكّد من ظهور Database is up to date أو Migrated successfully في السجلات قبل استخدام التطبيق. عند الشك، خذ نسخة تفريغ من ‏MariaDB قبل التحديث.

علاقاتك، على خادمك

‏انشر Monica CRM على خادم افتراضي من ServOrbit واحتفظ بكل جهة اتصال وكل تفاعل وكل تذكير على بنية تحتية تخصّك — بلا اشتراك ولا تبعية للسحابة.