انشر كود Collabora على Kubernetes باستخدام Helm
قم بتثبيت مخطط Collabora Helm الرسمي، وقم بتكوين الوصول إلى WOPI وتقارب الدخول، وتحقق من النشر دون أخطاء الإعداد الشائعة.
اعتبارًا من 10 أكتوبر 2026، يُدرج سجل الحزم الأصلي الإصدار 1.3.0 من المخطط كأحدث إصدار. يُعد تثبيت المخطط جزءًا فقط من عملية النشر الناجحة. ستحتاج أيضًا إلى اسم مضيف Collabora عام، وإدخال صالح في قائمة السماح WOPI لمضيف تخزين المستندات، وإعداد دخول يُبقي طلبات كل مستند على نفس وحدة pod. يُدرج سجل الحزم الأصلي الإصدار 1.3.0 من المخطط وقت كتابة هذا النص؛ تحقق من المستودع قبل التثبيت لأن إصدار مخطط Helm وإصدار صورة حاوية CODE قيمتان منفصلتان.
تستخدم هذه العملية المخطط الرسمي collabora/collabora-onlineووحدة تحكم NGINX Ingress. يتضمن ملف README الخاص بالمخطط أيضًا أمثلة HAProxy؛ وتختلف تعليقات Ingress باختلاف وحدة التحكم، لذا استخدم المثال الخاص بوحدة التحكم المثبتة لديك بدلاً من استخدام تعليقات مختلفة.
office.example.com.ينشر Collabora مخططاته من مستودع المشروع على الإنترنت. أضف المخطط، وقم بتحديث الفهرس المحلي، وافحص بيانات المخطط الوصفية والقيم الافتراضية قبل التثبيت.
helm repo add collabora https://collaboraonline.github.io/online/
helm repo update
helm show chart collabora/collabora-online
helm show values collabora/collabora-online
يُحدد إصدار المخطط الحزمة، وليس بالضرورة علامة صورة الكود. تحقق من مستودع الصور والعلامة في قيم الإصدار، ثم ثبّت إصدار المخطط الذي راجعته لإجراء ترقيات متكررة.
أنشئ سرًا ضمن نطاق مساحة الاسم باستخدام آلية إدارة الأسرار المعتمدة لديك. تدعم قيم المخطط وجود سر وأسماء مفاتيح قابلة للتكوين؛ أسماء المفاتيح الافتراضية هي usernameو password. تحقق من وجود السر في collaboraمساحة الاسم قبل التثبيت.
أنشئ ملفًا my_values.yaml. استبدل اسمي المضيفين المذكورين كمثال بنطاقاتك العامة الفعلية. aliasgroupsتُحدد القيمة عميل WOPI (على سبيل المثال، خادم Seafile أو Nextcloud). server_nameيُحدد مضيف Ingress خدمة Collabora التي تصل إليها متصفحات المستخدمين.
replicaCount: 1
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/upstream-hash-by: "$arg_WOPISrc"
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
hosts:
- host: office.example.com
paths:
- path: /
pathType: ImplementationSpecific
autoscaling:
enabled: false
collabora:
aliasgroups:
- host: "https://files.example.com:443"
extra_params: --o:ssl.enable=false --o:ssl.termination=true
server_name: office.example.com:443
existingSecret:
enabled: true
secretName: collabora-admin
usernameKey: username
passwordKey: password
يتبع هذا المثال نمط دخول NGINX الموثق من Collabora: يتم تجزئة الطلبات باستخدام المعامل WOPISrc، ويتم تمديد مهلة قراءة وإرسال الوكيل لجلسات المستندات. تأكد من أسماء التعليقات التوضيحية مع إصدار وحدة تحكم الدخول لديك. إذا كنت تستخدم HAProxy، فاستخدم تعليقات HAProxy التوضيحية وتكوين الموازنة في ملف README الخاص بالمخطط بدلاً من ذلك.
تُستخدم الخيارات ssl.enable=false`and` ssl.termination=trueلتصميمٍ ينتهي فيه بروتوكول TLS عند نقطة الدخول، ويكون تدفق البيانات من نقطة الدخول إلى الحاوية داخليًا. لا يعني ذلك أن نقطة النهاية العامة يجب أن تستخدم HTTP. احتفظ باسم مضيف نقطة الدخول على HTTPS، ولا تعرض خدمة HTTP العادية للحاوية مباشرةً على الإنترنت. يُفعّل هذا الخيار server_nameعندما يكون Collabora خلف خادم وكيل عكسي أو عندما يتعذر عليه استنتاج اسم مضيفه الخارجي مباشرةً.
بالنسبة للنسخ المتماثلة الثابتة المتعددة، اضبطها replicaCountبعناية وحافظ على ترابط الجلسات. يشير ملف README الخاص بالمصدر حاليًا إلى تعطيل HPA لأن التوسع قد يعيق التحرير التعاوني والنسخ/اللصق. لا يضمن زيادة عدد النسخ المتماثلة وحدها التوجيه الصحيح؛ تأكد من أن مدخلك يرسل الطلبات لنفس المستند إلى نفس الحاوية.
قم بتثبيت الإصدار من المستودع الرسمي وانتظر حتى يصبح النشر جاهزًا:
helm install --create-namespace \
--namespace collabora \
collabora-online collabora/collabora-online \
--values my_values.yaml
kubectl get pods -n collabora
kubectl get ingress -n collabora
إذا كنت تُحدّث إصدارًا موجودًا، فاستخدم helm upgradeنفس اسم الإصدار ومساحة الاسم وملف القيم بدلًا من إنشاء إصدار ثانٍ. راجع ملاحظات الإصدار والتغييرات المعروضة في المخطط قبل ترقية بيئة الإنتاج.
تأكد من جاهزية الحاوية وأنّ نظام الدخول يُبلغ عن المضيف والعنوان المتوقعين. إذا بقيت العملية معلقة، فافحص الأحداث والسجلات قبل تغيير إعدادات الموارد.
kubectl describe pods -n collabora
kubectl logs -n collabora deployment/<deployment-name>
حدد حجم وحدة المعالجة المركزية والذاكرة بما يتناسب مع حجم العمل وسعة المجموعة. يوفر ملف README الخاص بالجدول أمثلة على الطلبات والحدود، ولكنه لا يضمن النتائج في جميع عمليات النشر. انتبه لانخفاض الأداء، وعمليات إيقاف التشغيل بسبب نفاد الذاكرة، وإعادة التشغيل.
بعد تفعيل نظام أسماء النطاقات (DNS) وبروتوكول أمان طبقة النقل (TLS)، اطلب نقطة نهاية اكتشاف Collabora من خلال اسم المضيف العام:
curl -fsS https://office.example.com/hosting/discovery
يجب أن تتضمن الاستجابة الناجحة ملف XML لاكتشاف WOPI بدلاً من صفحة خطأ الدخول أو تحذير الشهادة. بعد ذلك، قم بتهيئة عميل WOPI الخاص بك باستخدام نفس عنوان URL العام لـ Collabora، وتأكد من أن عنوان Collabora aliasgroupsيتضمن اسم مضيف HTTPS ومنفذ العميل. تختلف إعدادات العميل الدقيقة باختلاف منتج التخزين.
افتح مستندًا تجريبيًا من خلال عميل WOPI وأجرِ عليه تغييرًا بسيطًا. تأكد من تحميل المحرر، وإمكانية انضمام جلسة متصفح ثانية في حال الحاجة إلى التعاون، وحفظ التغيير في خدمة التخزين. يختبر هذا الفحص الشامل نظام أسماء النطاقات (DNS)، وبروتوكول TLS الوارد، وتوجيه الجلسات، وتفويض مضيف WOPI، ونقل الملفات.
coolwsd_xml_contentمحل ملف الإعدادات الافتراضي، وتتطلب محتوى الملف كاملاً. يُفضل استخدام القيم المخصصة للمخطط لمجموعات الأسماء المستعارة والمعلمات، إلا إذا كان لديك ملف XML كامل ومتوافق مع الإصدار.قم بتثبيت مخطط Collabora Helm الرسمي، وقم بتكوين الوصول إلى WOPI وتقارب الدخول، وتحقق من النشر دون أخطاء الإعداد الشائعة.
استخدم طلبات المتصفح وسجلات WOPI وفحوصات البروكسي المستهدفة لمعرفة سبب فتح Collabora لمستند فارغ - واختر حلاً يتناسب مع الأدلة.
قم بتكوين قواميس CODE Docker ووضع علامات على مقاطع المستندات بشكل صحيح حتى تتلقى اللغات الإنجليزية والفرنسية واللغات الأخرى المدعومة التدقيق الإملائي الصحيح.
قم بضبط عتبة عدم النشاط لكل عرض في coolwsd وميزها عن تعتيم علامات التبويب الخلفية، وإلغاء تحميل المستندات، والحفظ التلقائي، وانتهاء صلاحية تسجيل الدخول.
أوقف عمليات التحقق المجدولة لتحديثات التعليمات البرمجية، وراجع الخدمات البعيدة الاختيارية، واستخدم عناصر التحكم في الشبكة الصادرة دون تعطيل تحرير المستندات.
قم بتمكين تحرير المستندات بشكل آمن في Seafile عن طريق تكوين عنوان URL لاكتشاف Collabora و HTTPS والوصول إلى WOPI لنشرك.
اختبر حافظة النظام، واضبط أذونات المتصفح، وحدد متى يحتاج تكامل Collabora المضمن إلى تغيير سياسة iframe.
قم بتثبيت ملفات الخطوط في Docker ولوحة نظام Collabora بحيث تظهر الخطوط المخصصة في المحرر ويتم عرضها بشكل صحيح في المستندات.
قم بعمل نسخة احتياطية من ملف coolwsd.xml ومصادر النشر الخاصة به، واستعدها بأمان، وتحقق من الكود قبل أن يعود المستخدمون إلى التحرير.
قم بالسماح بمصدر Nextcloud المحدد أو مصدر WOPI آخر في CODE، ثم تحقق من قائمة السماح للمضيف النشط وقم بتمييزها عن تقييد عنوان IP المصدر الخاص بـ Nextcloud.