docker-compose.yml، فإن الترحيل إلى Toolkit يمكن أن يجعل نشر نسخة Overleaf المستضافة محليًا وترقيتها وصيانتها أسهل.
للترحيل، ستحتاج إلى تحويل إعداد Docker Compose الحالي إلى الصيغة التي يستخدمها Toolkit. تتضمن هذه العملية نسخ الإعدادات الحالية إلى Toolkit.
سيرشدك هذا الدليل خلال كل خطوة من خطوات هذه العملية، لضمان ترحيل سلس من Docker Compose إلى Toolkit.
هذه التعليمات مخصصة للإصدار v4.x وما قبله. لذلك تستخدم جميع المتغيرات البادئة
SHARELATEX_ بدلًا من OVERLEAF_.1
استنساخ مستودع Toolkit
أولًا، استنسخ مستودع Toolkit إلى الجهاز المضيف:بعد ذلك، شغّل الأمر
bin/init لتهيئة Toolkit بإعداداته الافتراضية.2
تعيين الصورة والإصدار
في ملف عند استخدام Toolkit، يُحدَّد اسم الصورة تلقائيًا؛ والمطلوب الوحيد هو ضبط
docker-compose.yml النموذجي، تُعرَّف الصورة والإصدار في وصف المكوّن، على سبيل المثال:SERVER_PRO=true في config/overleaf.rc لاختيار صورة Server Pro، أو SERVER_PRO=false لاستخدام Community Edition.يُعيَّن رقم إصدار Server Pro/Community Edition المطلوب في الملف config/version. يتطلب Toolkit رقم إصدار محددًا مثل 4.2.3. إذا كنت تستخدم latest، فيمكنك استخدام bin/images للعثور على معرّف الصورة لإصدار latest المحلي لديك، ثم استخدام ملاحظات الإصدار لـ 2.x.x أو 3.x.x أو 4.x.x أو 5.x.x لمطابقة معرّف الصورة مع الإصدار.إذا كنت تجلب الصورة من سجل داخلي خاص بك، فيمكنك تجاوز الصورة التي يستخدمها Toolkit عبر ضبط OVERLEAF_IMAGE_NAME. لا تحتاج إلى تحديد الوسم (tag)، إذ سيضيفه Toolkit تلقائيًا بناءً على ملف config/version لديك.3
إعداد الوصول الخارجي
افتراضيًا، سيستمع Overleaf على
127.0.0.1:80، مما لا يسمح إلا بحركة المرور القادمة من جهاز Docker المضيف.للسماح بالوصول الخارجي، اضبط OVERLEAF_LISTEN_IP وOVERLEAF_PORT في الملف config/overleaf.rc.4
ترحيل متغيرات البيئة
من المرجح أن لديك مجموعة من متغيرات البيئة المعرّفة في خدمة انسخ هذه المتغيرات إلى الملف config/variables.env الخاص بـ Toolkit، مع الالتزام بالصيغة التالية (استخدم الاستثناءات / الاختلافات عند استخدام Toolkit:
sharelatex ضمن ملف docker-compose.yml، على سبيل المثال:= بدلًا من :):- لم تعد المتغيرات التي تبدأ بـ
SANDBOXED_COMPILES_وDOCKER_RUNNERمطلوبة. لتفعيل Sandboxed Compiles، اضبطSIBLING_CONTAINERS_ENABLED=trueفي ملف config/overleaf.rc. - لم تعد المتغيرات التي تبدأ بـ
OVERLEAF_MONGO_وOVERLEAF_REDIS_والمتغيرREDIS_HOSTمطلوبة. يُعَد MongoDB وRedis الآن في الملف config/overleaf.rc باستخدامMONGO_URLوREDIS_HOSTوREDIS_PORT.
5
وكيل NGINX
للاطلاع على تعليمات ترحيل
nginx، راجع وثائق وكيل TLS:6
وحدات التخزين
عيّن مواقع وحدات تخزين البيانات في config/overleaf.rc:
ShareLaTeX
اضبطOVERLEAF_DATA_PATH على موقع وحدة تخزين البيانات التي تستخدمها الحاوية sharelatex.MongoDB
اضبطMONGO_DATA_PATH على موقع وحدة تخزين البيانات التي تستخدمها الحاوية mongo.Redis
اضبطREDIS_DATA_PATH على موقع وحدة تخزين البيانات التي تستخدمها الحاوية redis.
