يستطيع Seafile فتح ملفات Office المدعومة في Collabora Online عبر بروتوكول WOPI، الذي يسمح لخادم التخزين والمحرر الإلكتروني بتبادل معلومات المستندات ومحتوى الملفات. يعتمد النشر الأمثل على مكان تشغيل Seafile، وكيفية إدارة HTTPS والخوادم الوكيلة العكسية، وما إذا كنت ترغب في تشغيل Collabora على نفس شبكة Docker أو على خادم منفصل.
يتبع هذا الدليل تعليمات دمج Collabora الواردة في دليل إدارة Seafile الحالي (وثائق Seafile 14.0، تم التحقق منها في 6 أكتوبر 2026). قد تختلف ملفات Docker Compose وعلامات الصور، لذا استخدم الملفات الخاصة بإصدار Seafile المُثبّت لديك بدلاً من نسخ إعدادات Compose الكاملة من دليل تعليمي قديم.
أي عملية نشر يجب أن تختار؟
| خيار | الأنسب | المقايضة الرئيسية |
| حاوية كولابورا بجانب سي فايل | تثبيت Docker أحادي العقدة باستخدام ملفات Compose المرفقة من Seafile | أسرع مسار وشبكة داخلية باسم الخدمة، لكن كلا الخدمتين تشتركان في وحدة المعالجة المركزية والذاكرة ونافذة الصيانة الخاصة بمضيف واحد. |
| التعاون على مضيف منفصل | خدمة Collabora الحالية، أو تخطيط سعة منفصل، أو نشر متعدد المضيفين | التوسع والتحديثات المستقلة، ولكنها تتطلب نقطة نهاية HTTPS عامة، وخادم وكيل عكسي، ووصول موثوق للشبكة بين Collabora و Seafile. |
لإنشاء نشر Docker جديد على عقدة واحدة، ابدأ باستخدام الإعدادات المُقدمة من Seafile collabora.yml. أما بالنسبة لخادم Collabora مستقل موجود أو مجموعة خوادم، فاستخدم إرشادات تثبيت Collabora الخاصة، واضبط عنوان URL لاكتشاف Seafile على عنوان Collabora الخارجي. يتطلب دليل تكامل Seafile استخدام HTTPS، ويشير إلى أنه يجب على عقدة Collabora منفصلة استخدام HTTPS على المنفذ 443 القياسي، مع توجيهها عكسيًا إلى خدمة Collabora على المنفذ 9980. راجع دليل تكامل Seafile Collabora Online ووثائق تثبيت Collabora .
قبل أن تبدأ
- تأكد من إمكانية الوصول إلى خادم Seafile الخاص بك عبر بروتوكول HTTPS باستخدام شهادة صالحة. يشترط دليل Seafile صراحةً استخدام HTTPS لهذا التكامل.
- حدد نوع النشر لديك: تثبيت Docker أحادي العقدة الحالي، أو التثبيت الثنائي، أو إعداد متعدد المضيفين/مجموعة. تعتمد أسماء ملفات التكوين وتوجيه الوكيل على هذا الاختيار.
- اختر اسم مضيف Collabora، مثل `collabora.co.uk`
office.example.com، إذا كان سيتم الوصول إلى Collabora بشكل مستقل عبر متصفحات المستخدمين. تأكد من تفعيل نظام أسماء النطاقات (DNS) وشهادة TLS الخاصة به قبل تهيئة Seafile.
- يجب أن تتمتع بصلاحيات المسؤول على ملفات Seafile
seahub_settings.pyوDocker .env، إن وجدت. قم بتخزين كلمة مرور مسؤول Collabora في ملف بيئة محمي، ولا تنشرها في لقطات الشاشة أو السجلات أو في مستودع عام.
توضح وثائق Seafile خطوات Docker على نفس المضيف لتخطيط Compose المدعوم. إذا كان خادم الوكيل العكسي أو مشروع Compose أو الشبكة لديك مختلفًا، فاعتبر القيم الموضحة أدناه كنقطة انطلاق، وتحقق من أسماء الخدمات والمسارات في بيئة النشر الخاصة بك.
الخيار أ: إضافة Collabora إلى عملية نشر Seafile Docker
1. أضف ملف Collabora Compose الرسمي
من المجلد الذي يحتوي على إعدادات Seafile Compose، نزّل ملف Collabora الخاص بإصدار Seafile الذي تستخدمه. للحصول على مسار Seafile 14.0 المذكور في الدليل الحالي:
wget https://manual.seafile.com/14.0/repo/docker/collabora.yml
افتح القائمة الحالية .envوأضف إليها . احتفظ بجميع الإدخالات الحالية؛ على سبيل المثال، في حالة تثبيت تحتوي بالفعل على قائمة بملفات خادم Seafile وCaddy وSeaDoc، سيتم إضافة ملف Collabora بدلاً من استبدال القائمة.collabora.ymlCOMPOSE_FILE
COMPOSE_FILE='seafile-server.yml,caddy.yml,seadoc.yml,collabora.yml'
قد تختلف قائمتك الفعلية. لا تقم بإزالة خادم الوكيل العكسي الحالي أو أي خدمات أخرى لمجرد مطابقة هذا المثال. يحدد ملف Compose إعدادات الحاوية والشبكة التي يتوقعها نشر Seafile المدمج.
2. اضبط قيم بيئة Collabora
أضف المتغيرات الموثقة في Seafile إلى .envالملف نفسه. يستخدم المثال الحالي collabora/codeاسم الصورة المتغير؛ لذا ينبغي على الفرق التي تتطلب ترقيات قابلة للتكرار اختيار علامة إصدار Collabora مدعومة من بيئتها وتثبيتها عمدًا. راجع ملاحظات الإصدار واختبر الترقيات قبل تغيير خدمة محرر عاملة.
COLLABORA_IMAGE=collabora/code
COLLABORA_PORT=6232
COLLABORA_USERNAME=admin
COLLABORA_PASSWORD=replace-with-a-long-random-secret
COLLABORA_ENABLE_ADMIN_CONSOLE=true
COLLABORA_REMOTE_FONT=
COLLABORA_ENABLE_FILE_LOGGING=false
قيمة المنفذ هي المنفذ المُستخدم من قِبل المضيف في مثال Compose الخاص بـ Seafile؛ يستمع Collabora على المنفذ 9980 داخل الحاوية. حافظ على خصوصية لوحة تحكم المسؤول أو قيّد الوصول إليها عبر الخادم الوكيل/جدار الحماية. اسم المستخدم وكلمة المرور المذكوران أعلاه هما مثالان فقط - اختر بيانات اعتماد فريدة واحمِ الملف. إذا لم تكن مؤسستك بحاجة إلى لوحة تحكم المسؤول، فاتبع الإعدادات المدعومة في قالب Compose لتعطيلها.
3. قم بتهيئة اتصال WOPI الخاص بـ Seafile
قم بتحرير seahub_settings.pyإعدادات تكامل Collabora وأضفها. بالنسبة للحاويات الموجودة على نفس شبكة Compose، يستخدم مثال Seafile الحالي اسم الخدمة الداخلي collabora:
OFFICE_SERVER_TYPE = 'CollaboraOffice'
ENABLE_OFFICE_WEB_APP = True
OFFICE_WEB_APP_BASE_URL = 'http://collabora:9980/hosting/discovery'
WOPI_ACCESS_TOKEN_EXPIRATION = 30 * 60
OFFICE_PREVIEW_MAX_SIZE = 30 * 1024 * 1024
ENABLE_OFFICE_WEB_APP_EDIT = True
OFFICE_WEB_APP_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
OFFICE_WEB_APP_EDIT_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
يُستخدم عنوان URL الداخلي للاكتشاف للتواصل بين Seafile وCollabora على شبكة Docker المشتركة. يجب أن تتمكن متصفحات المستخدمين أيضًا من الوصول إلى عنوان Collabora الذي يوفره التكامل لهم. اتبع ملف Compose الرسمي وإعدادات الوكيل لضمان نشر المسار المُتاح للمتصفح بشكل آمن؛ اسم المضيف الخاص بالحاوية والذي يُحل فقط داخل Docker لا يُعد عنوان URL عامًا صالحًا للاستخدام في المتصفح.
اجعل قوائم امتدادات الملفات مقتصرة على التنسيقات التي يحتاجها المستخدمون والتي يدعمها إصدار Collabora الخاص بك. إعداد حجم المعاينة الموضح أعلاه هو قيمة 30 ميجابايت في المثال الحالي لـ Seafile؛ قد تتطلب المستندات الأكبر حجمًا تغييرًا مدروسًا في الحد الأقصى، مع مراعاة تأثير ذلك على الذاكرة والأداء.
4. بدء الخدمات أو تحديثها
تحقق من صحة إعدادات Compose، ثم ابدأ تشغيل المكدس من دليل المشروع الخاص به:
docker compose config
docker compose up -d
ينصح دليل Seafile بإعادة تشغيل Seafile بعد إجراء أي تغيير seahub_settings.py. في عمليات النشر باستخدام Docker، docker compose up -dيتم تطبيق إعدادات Compose المُحدَّثة؛ إذا لم يُفعَّل التعديل، فأعد تشغيل خدمة Seafile باستخدام الطريقة المُخصصة لإصدارك. تجنّب إجراء تغيير شامل docker compose downإلا إذا كنت تنوي إيقاف النظام بأكمله.
الخيار ب: توجيه Seafile إلى Collabora على مضيف آخر
قم بتثبيت Collabora وتفعيله باستخدام تعليمات النشر الرسمية وبروتوكول الخادم الوكيل العكسي. استخدم بروتوكول HTTPS على نقطة النهاية العامة العادية، وقم بتوجيه الطلبات إلى المنفذ الداخلي 9980 الخاص بـ Collabora. تأكد من إمكانية وصول خادم Seafile إلى Collabora، وإمكانية وصول Collabora إلى عنوان HTTPS الخاص بـ Seafile؛ فكلا الاتجاهين مهمان لتحميل مستندات WOPI.
احتفظ بإعدادات Seafile الأخرى من القسم السابق، ولكن غيّر إعداد الاكتشاف إلى اسم مضيف Collabora الحقيقي:
OFFICE_WEB_APP_BASE_URL = 'https://office.example.com/hosting/discovery'
استخدم اسم المضيف والشهادة الفعليين. لا تُضِف اسم خدمة Docker الداخلية إلا إذا كانت Seafile وCollabora تشتركان فعليًا في شبكة يُمكن الوصول إلى هذا الاسم من خلالها. يمنحك استخدام مضيف منفصل تحكمًا مستقلًا في الموارد والصيانة، ولكنه يُضيف مهام DNS وجدار الحماية والشهادة والخادم الوكيل العكسي. بالنسبة لمجموعة Seafile، اتبع تصميم الخادم الوكيل واكتشاف الخدمات الخاص بالمجموعة بدلًا من افتراض تطبيق شبكة Compose أحادية العقدة.
كيفية التأكد من نجاح الاتصال
- افتح
https://office.example.com/hosting/discoveryمن متصفح إذا كنت تستخدم خادمًا منفصلاً. أما في حالة استخدام نفس الخادم، فاختبر مسار Collabora العام الذي ينشره خادمك الوكيل. يؤكد نجاح الاستجابة إمكانية الوصول إلى نقطة نهاية الاكتشاف، مع العلم أن ذلك لا يثبت بحد ذاته نجاح تحرير WOPI.
- قم بتسجيل الدخول إلى Seafile وافتح ملفًا صغيرًا وغير حساس من نوع .org
.docxأو .xlsx.org أو .odtملفًا مدرجًا في قوائم الامتدادات التي قمت بتكوينها.
- تأكد من فتح الملف في Collabora، وقم بإجراء تغيير غير ضار، وانتظر حتى يكتمل الحفظ، ثم أغلق المحرر.
- أعد فتح الملف في برنامج Seafile وتأكد من استمرار التغيير. وللتأكد بشكل أدق، قم بتنزيل نسخة منه وتحقق من محتواها المتوقع.
اختبر باستخدام ملف يمكنك تعديله بأمان. إن وجود محرر مرئي دون حفظ ناجح لا يُعد نجاحًا كاملاً: يجب أن يكون برنامج WOPI قادرًا على استرداد الملف وإعادة النسخة المُعدّلة إلى Seafile.
الأعطال الشائعة والجانب الذي يجب فحصه
| الأعراض | الفحوصات الأولية |
| أفاد موقع Seafile أن خدمة المكتب عبر الإنترنت غير متاحة | تحقق من OFFICE_SERVER_TYPEعنوان ENABLE_OFFICE_WEB_APPURL الخاص بالاكتشاف، وما إذا تمت إعادة تشغيل Seahub بعد تغيير الإعدادات. |
| يعمل نظام الاكتشاف من الخادم، لكن المتصفح يعرض محررًا فارغًا. | تأكد من إمكانية وصول المتصفح إلى اسم مضيف Collabora العام عبر بروتوكول HTTPS، ومن صحة مسارات الوكيل وشهادات TLS. لا يمكن الوصول تلقائيًا إلى اسم مضيف Docker الداخلي من متصفح المستخدم. |
| يتم تحميل المحرر ولكن لا يمكن جلب الملف أو حفظه | راجع سجلات Collabora وSeafile، ووصولهما المشترك إلى الشبكة، وموثوقية شهادة HTTPS، وطلبات WOPI. يوثق Seafile مسار الطلب كالتالي: يقوم Seahub بإنشاء الإطار المضمن (iframe)، ثم يقوم المتصفح بتحميل Collabora، وأخيرًا يطلب Collabora محتوى الملف من Seahub. |
| لا تفتح سوى بعض ملفات المكتب | تحقق من معاينة وتعديل مجموعات الامتداد، والحد الأقصى لحجم المعاينة في Seafile، والتنسيقات التي يدعمها إصدار Collabora المثبت. |
بالنسبة لسجلات Docker ووثائق Seafile، docker logs seafile-collaboraتحقق من سجلات Seafile/Seahub جنبًا إلى جنب مع مخرجات Collabora، وقم بربط الطلبات على الخادم الوكيل. لا تُفعّل التسجيل المُفصّل أو تسجيل الملفات بشكل دائم إذا كان ذلك يكشف عناوين URL للوثائق أو تفاصيل تشغيلية حساسة أخرى. يوفر دليل استكشاف أخطاء Collabora الرسمي فحوصات إضافية لأعطال Collabora.
أي خيار هو الأنسب؟
اختر الحاوية المدمجة عندما يكون تثبيت Seafile لديك على مضيف Docker واحد، وترغب في استخدام توصيلات Compose المدعومة، ولا مانع من مشاركة وحدة المعالجة المركزية والذاكرة مع Seafile. اختر مضيف Collabora منفصلاً عندما يكون لديك مضيف مُشغّل بالفعل، أو تحتاج إلى سعة مستقلة أو جداول ترقية، أو تقوم بدمج بنية متعددة المضيفين ويمكنك الحفاظ على بروتوكول HTTPS وتوجيه الشبكة بشكل موثوق. في كلتا الحالتين، اتبع الوثائق الخاصة بإصدار Seafile لديك، وحافظ على أمان نقاط النهاية التي تصل إلى المتصفح، وتحقق من فتح المستندات وحفظها قبل دعوة المستخدمين للاعتماد على التحرير عبر الإنترنت.