إرشادات عامة
احرص دائمًا على إنشاء نسخة احتياطية لقاعدة البيانات قبل بدء عملية الترقية عن طريق تشغيل:- أوقف Twenty:
docker compose down - غيّر قيمة
TAGفي ملف.envالموجود بجانب ملفdocker-compose.yml - ابدأ تشغيل Twenty:
docker compose up -d
الترقيات عبر الإصدارات (v1.22+)
بدءًا من v1.22، يدعم Twenty الترقيات عبر الإصدارات. يمكنك الانتقال مباشرةً من أي إصدار مدعوم إلى أحدث إصدار دون المرور بكل إصدار وسيط. على سبيل المثال، الترقية من v1.22 مباشرةً إلى v2.0 مدعومة بالكامل.الترقية إلى v2.5+ — غلاف التشفير للبيانات الساكنة (at-rest)
بدءًا من v2.5، يقوم Twenty بتخزين الأسرار أثناء السكون (at-rest) — مثل رموز OAuth، ومتغيرات التطبيق، ومفاتيح التوقيع الخاصة، وقيم الإعدادات الحساسة، وأسرار TOTP — داخل غلاف ذي إصدارenc:v2: ومشفّر باستخدام ENCRYPTION_KEY (أو APP_SECRET إذا لم يتم تعيين ENCRYPTION_KEY).
أول إقلاع على v2.5 يشغّل أوامر ترقية بطيئة تقوم بإجراء ملء رجعي للصفوف الموجودة داخل الغلاف الجديد. هذه الأوامر عديمة الأثر عند التكرار (idempotent) — إيقاف الخادم وإعادة تشغيله يستأنف من حيث توقّف — لكنها قد تستغرق بعض الوقت على قواعد البيانات الكبيرة. يمكنك متابعة التقدّم باستخدام upgrade:status.
يجب تعيين ENCRYPTION_KEY مخصص قبل الترقية إلى v2.5 لكي يكتب الملء الرجعي الصفوف باستخدامه منذ البداية. يتطلّب تبديل المفاتيح بعد الملء الرجعي إجراء تدوير.
تدوير الأسرار ومفاتيح التوقيع
لمهام التشغيل اليومية مثل تدويرENCRYPTION_KEY، أو تدوير مفتاح توقيع JWT، أو إبطال مفتاح توقيع تم تسريبه، راجع دليل تدوير المفاتيح (Key rotation guide).
التحقق من حالة الترقية
يتيح لك الأمرupgrade:status فحص الحالة الحالية لمثيلك وعمليات ترحيل مساحات العمل. يكون مفيدًا لاستكشاف مشكلات الترقية وإصلاحها أو عند تقديم طلب دعم.
قم بتشغيله من حاوية الخادم:
خيارات
| خيار | الوصف |
|---|---|
-w, --workspace-id <id> | لتصفية حسب مساحة عمل معيّنة. يمكن تمريره عدة مرات. |
-f, --failed-only | إخفاء مساحات العمل المحدَّثة، وعرض المتأخرة أو الفاشلة فقط. |
استكشاف الأخطاء وإصلاحها
إذا فشلت الترقية في بعض مساحات العمل، فلن يتجاوز الخادم الخطوة الفاشلة. إعادة تشغيل الخادم (docker compose up -d) ستعيد محاولة الترقية من حيث توقفت.
لتحديد المشكلات بسرعة، قم بتشغيل: