الانتقال إلى المحتوى الرئيسي

إدارة الخادم المحلي

استخدم yarn twenty docker:* للتحكّم في حاوية Twenty المحلية:
أمرماذا يفعل
yarn twenty docker:startبدء تشغيل الخادم (يسحب الصورة إذا لزم الأمر)
yarn twenty docker:start 2.2.0بدء إصدار محدد من الخادم
yarn twenty docker:start --port 3030بدء التشغيل على منفذ مخصّص
yarn twenty docker:stopإيقاف الخادم (مع الحفاظ على البيانات)
yarn twenty docker:statusعرض عنوان URL والإصدار وبيانات اعتماد تسجيل الدخول
yarn twenty docker:logsبث سجلات الخادم
yarn twenty docker:resetمسح البيانات والبدء من جديد
yarn twenty docker:upgradeسحب أحدث صورة twenty-app-dev
yarn twenty docker:upgrade 2.2.0الترقية إلى إصدار محدد
تظل البيانات محفوظة عبر عمليات إعادة التشغيل في وحدتي تخزين Docker (twenty-app-dev-data لـ PostgreSQL، وtwenty-app-dev-storage للملفات). استخدم reset لمسح كل شيء.

تثبيت إصدار الخادم

عند عدم تمرير أي إصدار، يقوم docker:start باشتقاق الإصدار من النطاق engines.twenty في ملف package.json لتطبيقك — وهو نفس النطاق الذي يتحقق منه الخادم عند تثبيت تطبيقك. يشغّل أحدث صورة منشورة لـ twenty-app-dev التي تُلبي هذا النطاق، مع الرجوع إلى latest عندما يكون الحقل غير موجودًا أو لا يتطابق أي إصدار منشور:
{
  "engines": {
    "twenty": ">=2.2.0"
  }
}
مرِّر إصدارًا بشكلٍ صريح لتجاوز النطاق لتشغيلٍ واحد فقط: yarn twenty docker:start 2.3.0. إذا كانت هناك حاوية موجودة بالفعل على إصدار مختلف، يقوم docker:start بترقيتها في مكانها (مع إعادة إنشاء الحاوية مع الحفاظ على وحدات تخزين بياناتك).

ترقية صورة الخادم

يقوم yarn twenty docker:upgrade بسحب أحدث صورة، ومقارنة التجزئات، ولا يعيد إنشاء الحاوية إلا إذا حدث تغيير فعلي. تظل وحدات التخزين محفوظة — ويتم استبدال الحاوية فقط. إذا تم سحب صورة جديدة وكانت الحاوية تعمل، فستبدأ عملية الترقية تلقائيًا حاوية جديدة؛ شغّل بعد ذلك yarn twenty docker:start للانتظار حتى تصبح سليمة.
yarn twenty docker:upgrade            # Latest
yarn twenty docker:upgrade 2.2.0      # Specific version
تحقّق من الإصدار الجاري باستخدام yarn twenty docker:status (يعرض قيمة APP_VERSION المضمنة في الحاوية).

تشغيل مثيل اختبار متوازٍ

مرّر --test إلى أي أمر docker:* لإدارة مثيل ثانٍ معزول تمامًا — مفيد لاختبارات التكامل أو للتجربة من دون لمس بيانات التطوير الرئيسية لديك:
أمرماذا يفعل
yarn twenty docker:start --testبدء مثيل الاختبار (المنفذ الافتراضي 2021)
yarn twenty docker:stop --testإيقافه
yarn twenty docker:status --testعرض حالته
yarn twenty docker:logs --testبث سجلاته
yarn twenty docker:reset --testمسح بياناته
yarn twenty docker:upgrade --testترقية صورته
يملك مثيل الاختبار حاويته الخاصة (twenty-app-dev-test) ووحدات التخزين الخاصة به (twenty-app-dev-test-data، twenty-app-dev-test-storage) وتهيئته — ويعمل جنبًا إلى جنب مع مثيلك الرئيسي بدون تعارضات. اجمع --test مع --port لتجاوز المنفذ 2021.

إعداد يدوي (بدون أداة توليد الهيكل)

تجاوز أداة توليد الهيكل إذا كنت تضيف SDK إلى مشروع قائم:
yarn add twenty-sdk twenty-client-sdk
أضِف النص البرمجي إلى package.json:
{
  "scripts": {
    "twenty": "twenty"
  }
}
يمكنك الآن تشغيل yarn twenty dev، وyarn twenty docker:start، والبقية.
لا تثبّت twenty-sdk عالميًا — ثبِّته لكل مشروع بحيث يستخدم كل تطبيق إصداره الخاص.