دليل النشر

استضف Twenty CRM بنفسك على VPS: بديل Salesforce مفتوح المصدر

انشر على VPS Cloud ←

دليل عملي

استضف Twenty CRM بنفسك على VPS: بديل Salesforce مفتوح المصدر

الاستضافة الذاتية4 دقائق للقراءةعدد الخطوات: 7

يفرض Salesforce وHubSpot رسومًا لكل مقعد، ويحبسان بياناتك في سحابتهما، ويجعلان تغييرات المخطّط عملية بيروقراطية. أما Twenty فهو الإجابة الصديقة للمطوّرين: نظام CRM برخصة AGPL-3.0 تنشره على VPS الخاص بك في دقائق، مع كائنات قابلة للتخصيص بالكامل، وواجهة GraphQL API من الدرجة الأولى، وعامل خلفية يتولّى الأتمتة وخطافات الويب (webhooks). منذ الإصدار v2.1.0 (أبريل 2026) أصبح Twenty جاهزًا للإنتاج لعمليات النشر المستضافة ذاتيًا أحادية المستأجر — والمنظومة ليست سوى Docker Compose مع Postgres وRedis.

المحتويات· لماذا تستضيف فرق المطوّرين Twenty ذاتيًا بدلًا من الدفع لـ Salesforce1/5
  1. 01لماذا تستضيف فرق المطوّرين Twenty ذاتيًا بدلًا من الدفع لـ Salesforce
  2. 02ما تحصل عليه جاهزًا
  3. 03المتطلبات المسبقة
  4. 04انشر Twenty على VPS في 6 خطوات
  5. 05التوثيق الرسمي

لماذا تستضيف فرق المطوّرين Twenty ذاتيًا بدلًا من الدفع لـ Salesforce

صُمِّمت معظم أنظمة CRM لمديري المبيعات، لا للمهندسين. المخطّط ثابت، والواجهة البرمجية محدودة المعدّل، وكل تكامل يمرّ عبر سوق احتكاري. يقلب Twenty هذا الأمر: كل كيان (جهات الاتصال، الشركات، الصفقات، أو أي كائن مخصّص تعرّفه) يُنمذَج في PostgreSQL ويُعرَض عبر GraphQL API موثّقة بالكامل منذ اليوم الأول. أنت تمتلك قاعدة البيانات، وتكتب عمليات الترحيل (migrations)، وتتكامل مع أدواتك الخاصة — دون وسيط، ودون فوترة لكل استدعاء API.

ما تحصل عليه جاهزًا

  • كائنات وحقول قابلة للتخصيص بالكامل — نمذِج أي كيان يستخدمه عملك، لا فقط ما قرّرته Salesforce.
  • عروض Kanban والقوائم والجداول مع تحديثات تعاونية في الوقت الفعلي عبر فريقك.
  • ملاحظات ومهام وخط زمني للنشاط مرتبط بكل سجلّ — دون الحاجة إلى إضافة منفصلة.
  • واجهة GraphQL + REST API تغطّي كل كائن وعلاقة وحقل مخصّص تنشئه.
  • عامل خلفية للأتمتة وخطافات الويب والمهام المجدوَلة — يعمل جنبًا إلى جنب مع حاوية الخادم.
  • استيراد CSV لترحيل جهات الاتصال والشركات من HubSpot أو Pipedrive أو أي نظام CRM قديم.
  • رخصة AGPL-3.0 — دون احتكار المورّد، ودون فوترة سحابية لكل مقعد، ودون تخزين بيانات خارج بنيتك التحتية.

المتطلبات المسبقة

يكفي خادم بنواتين و4 GB من ذاكرة RAM يعمل بنظام Ubuntu 22.04 مع تثبيت Docker لتغطية الإنتاج بأريحية. تستهلك المنظومة الكاملة (الخادم + العامل + PostgreSQL + Redis) في وضع الخمول نحو 1.2 GB من ذاكرة RAM؛ خطّط لـ 4 GB لإبقاء متّسع لـ PostgreSQL تحت الاستعلامات المتزامنة. تحتاج إلى اسم نطاق ووكيل عكسي Caddy أو Nginx لـ HTTPS. هذا كل شيء — دون GPU، ودون مفتاح ترخيص، ودون أي خدمة خارجية.

انشر Twenty على VPS في 6 خطوات

  1. جهّز VPS

    اطلب VPS Power من ServOrbit (4 vCPU، 8 GB، Ubuntu 22.04) — وهو أول خطة في الكتالوج تتجاوز 4 GB التي يحتاجها Twenty. بمجرد إقلاعه، اتصل عبر SSH وثبّت Docker: curl -fsSL https://get.docker.com | sh. فعّل خدمة Docker: systemctl enable --now docker.

  2. أنشئ ملف ‎.env الخاص بك

    أنشئ /opt/twenty/.env بأربعة متغيّرات: APP_SECRET (ولّده باستخدام openssl rand -hex 32)، وDB_NAME=twenty، وDB_USER=twenty، وDB_PASSWORD=<strong-password>، وSERVER_URL=https://crm.yourdomain.com (حدّده الآن — إذ يضمّن Twenty هذه القيمة في ترويسات CORS وروابط البريد). APP_SECRET هو السرّ التشفيري الوحيد؛ وكل ما عداه مشتقّ منه.

  3. اكتب docker-compose.yml وشغّل المنظومة

    أنشئ /opt/twenty/docker-compose.yml بالخدمات الأربع: db (postgres:16-alpine)، وredis (redis:7-alpine)، وtwenty-server (twentycrm/twenty:latest، المنفذ 3000)، وtwenty-worker (نفس الصورة، الأمر yarn worker:prod). اربطها عبر PG_DATABASE_URL وREDIS_URL. ثم: docker compose up -d. عند أول إقلاع، يشغّل Twenty عمليات ترحيل قاعدة البيانات — امنحه 60–90 ثانية قبل أن تصبح الواجهة جاهزة.

  4. أكمل إعداد مساحة العمل

    افتح http://<vps-ip>:3000 واتّبع معالج الإعداد: أنشئ حساب المدير، وسمِّ مساحة العمل، وادعُ زملاءك اختياريًا عبر البريد الإلكتروني. استورد جهات الاتصال الحالية من ملف CSV في إعدادات مساحة العمل ← Import.

  5. ضع Twenty خلف HTTPS باستخدام Caddy

    ثبّت Caddy: apt install -y caddy. أنشئ /etc/caddy/Caddyfile: crm.yourdomain.com { reverse_proxy localhost:3000 }. أعد التحميل: systemctl reload caddy. يحصل Caddy على شهادة TLS ويجدّدها تلقائيًا. قيّد المنفذ 3000 في جدار الحماية: ufw deny 3000 — إذ يمرّ كل الترافيك الآن عبر 443.

  6. اربط أدوات الأتمتة لديك

    في إعدادات Twenty ← API، انسخ نقطة نهاية GraphQL ورمز API الشخصي. استخدمهما مباشرة في n8n (عقدة HTTP Request) أو Activepieces لمزامنة جهات الاتصال، أو تشغيل إجراءات عند تغيّر مرحلة الصفقة، أو دفع بيانات من مصادر خارجية. كما يطلق Twenty خطافات ويب صادرة عند أي حدث سجلّ — هيّئها في الإعدادات ← Webhooks.

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

    افتحوا الرابط وانقروا على زر التسجيل «Sign up»: يصبح أول من يسجّل مسؤولَ مساحة العمل تلقائياً، ثم يُغلق التسجيل بعد ذلك. افعلوا ذلك فور انتهاء التثبيت.

انسخ احتياطيًا أحجام Docker الثلاثة — twenty_db (بيانات PostgreSQL)، وtwenty_data (تخزين الملفات المحلي)، وtwenty_redis (لازم فقط إذا كنت تستخدم قوائم مهام دائمة) — إلى موقع خارج الخادم يوميًا. يكفي سطر واحد بسيط docker run --rm -v twenty_db:/data -v /backups:/out alpine tar czf /out/twenty-db-$(date +%F).tar.gz /data ضمن مهمة cron لتغطية قاعدة البيانات.

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

لمزيد من التهيئة المتقدمة والخيارات الخاصة بالأداة، راجع التوثيق الرسمي لـ Twenty. يغطّي هذا الدليل النشر على VPS؛ ويبقى توثيق الناشر المرجع للإعدادات الدقيقة والتحديثات الكبرى وحالات الاستخدام الخاصة.

انشر Twenty CRM على خادمك الخاص

استضف Twenty CRM بنفسك على VPS من ServOrbit — مفتوح المصدر، دون رسوم لكل مقعد، وبياناتك على بنيتك التحتية.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة