قبل ترقية حاوية Jellyfin، احفظ جانبي عملية النشر: حالة Jellyfin الدائمة وتعريف الحاوية الدقيق الذي يعرف كيفية الوصول إليها. من السهل سحب صورة جديدة، لكن استرداد قاعدة بيانات مُرحّلة أو وحدة تحميل تغيّرت أو تعيين جهاز منسي ليس بالأمر السهل.
استخدم قائمة التحقق بترتيب التبعيات. أثبت أولًا قدرتك على استرداد البيانات، ثم سجّل الصورة الحالية وإعدادات وقت التشغيل، ثم اقرأ مسار الإصدار، وبعد ذلك فقط استبدل الصورة. بعد الترقية، اختبر المكتبات والمستخدمين وأنماط التشغيل والمهام المجدولة وسلوك إعادة التشغيل نفسها قبل حذف نسخة التراجع.
سجّل آخر صورة عاملة وتعريف الحاوية
احفظ وسم صورة Jellyfin الحالي، وعند الإمكان بصمته أيضًا. صدّر ملف Compose أو تعريف التطبيق الذي يحتوي على المنافذ والشبكات ووحدات التحميل وقيم البيئة وسياسة إعادة التشغيل وتعيين المستخدم والمجموعات الإضافية وأجهزة GPU وأي علاقة مع وكيل عكسي، أو انسخه.
تُميّز وثائق حاوية Jellyfin الرسمية بين الوسوم المتحركة مثل latest والوسوم الصريحة للإصدارات الرئيسية والفرعية والتصحيحية. سلوك وسوم صور Jellyfin يكون التراجع أسهل عندما تعرف الإصدار العامل الدقيق، بدلًا من تذكّر أن «latest كان يعمل أمس» فقط.
لا تحذف الصورة القديمة أو تعريف الحاوية المحفوظ حتى يجتاز الإصدار الجديد فترة التحقق الكاملة. إذا فشلت الترقية قبل المساس بالبيانات الدائمة، فستمنحك الصورة والتعريف المحتفظ بهما مسار الاسترداد الأقل تدخلًا.
أنشئ نسخة احتياطية قابلة للاسترداد من حالة Jellyfin
احمِ مجلدي بيانات Jellyfin وإعداداته قبل تغيير الصورة. يجب أن تكون النسخة الاحتياطية خارج مسار التطبيق المباشر وقابلة للقراءة بصورة مستقلة؛ ولا تكون النسخة الثانية أو اللقطة على مجموعة البيانات نفسها مفيدة إلا إذا كنت تفهم نوع العطل الذي تحمي منه.
تحذّر وثائق النسخ الاحتياطي في Jellyfin من أن الترقيات قد تتطلب استعادة البيانات، لعدم وجود آلية عامة للرجوع إلى إصدار أقدم بعد تطبيق عمليات الترحيل. كما توثّق النسخ الاحتياطية المدمجة ومتطلب الإيقاف النظيف لنسخ الملفات يدويًا. إرشادات Jellyfin للنسخ الاحتياطي والاستعادة
في سير عمل الحاويات، تغطي ZimaSpace المبدأ نفسه من خلال سير عمل نقطة التراجع قبل التحديث. توقّف هنا إذا لم تتمكن من تحديد المسارات الدائمة أو التحقق من محتويات النسخة الاحتياطية.
التقط وحدات التحميل ومعرّفات UID/GID وتبعيات الأجهزة
أدرج كل وحدة تحميل مرتبطة وكل وحدة تخزين مُسمّاة، ولاحظ ما إذا كانت للقراءة فقط أو قابلة للكتابة. سجّل معرّفي UID/GID المستخدم في وقت التشغيل، وعضويات المجموعات، وملكية أدلة البيانات التي تملكها Jellyfin. التقط أيضًا تعيينات GPU أو أجهزة العرض إذا كان تسريع الأجهزة مفعّلًا.
يوضح دليل حاوية Jellyfin أن الوسائط والإعدادات وذاكرة التخزين المؤقت تُحمّل بشكل منفصل، وأن الحاوية قد تعمل باستخدام UID/GID محددين. المسارات الدائمة وتعيين المستخدم هذه القيم تبعيات وليست عناصر شكلية؛ فقد تبدأ الحاوية المُعاد إنشاؤها بنجاح بينما ترى مجلد إعدادات فارغًا أو تفقد صلاحية الوصول إلى جهاز.
قارن التعريف المحفوظ بالحاوية العاملة فعليًا، وليس بقالب تظن أنه حالي فحسب. إذا كانت هناك تغييرات يدوية في وقت التشغيل مفقودة من Compose أو تعريف تطبيق NAS، فأصلح هذا الانحراف قبل الترقية حتى يصبح النشر القديم قابلًا لإعادة الإنتاج.
تحقق من مسار الترقية المدعوم ومخاطر المكونات الإضافية
اقرأ ملاحظات الإصدار لكل حدّ رئيسي بين الإصدار الحالي والإصدار المستهدف. ابحث عن الإصدارات الوسيطة المطلوبة، وترحيلات قاعدة البيانات، وتغييرات الإعدادات، وتوافق المكونات الإضافية، ومتطلبات FFmpeg، أو عمليات بدء التشغيل الطويلة.
تؤكد وثائق ترقية Jellyfin مرارًا أهمية النسخ الاحتياطية، وتشرح لماذا قد تجعل تغييرات المخطط الرجوع البسيط إلى إصدار أقدم مستحيلًا. حدود الترقية والرجوع قد تضيف ملاحظات الإصدارات الرئيسية متطلبات مسبقة خاصة بكل إصدار، لذا لا تفترض أن الانتقال آمن لمجرد وجود صورة الحاوية.
إذا كان أحد المكونات الإضافية ضروريًا، فتأكد من توفر إصدار متوافق قبل ترقية الخادم. وإذا كان المكون اختياريًا وله تاريخ في منع بدء التشغيل، فسجّل إصداره الحالي وكن مستعدًا لتعطيل هذا المكون وحده إذا حدّدت سجلات الخادم الجديد أنه مصدر الفشل.
نفّذ الترقية دون تغيير حدود الحالة
أوقف Jellyfin إيقافًا نظيفًا، واسحب الصورة المقصودة، ثم أعد إنشاء خدمة Jellyfin فقط باستخدام المسارات الدائمة والتبعيات نفسها التي تم التحقق منها. لا تجمع الترقية مع ترحيل التخزين وإعادة تصميم UID/GID وإعادة كتابة الوكيل العكسي وإعادة تهيئة GPU، إلا إذا كانت هذه التغييرات هي الغرض الفعلي من الصيانة.
راقب سجل بدء التشغيل الأول. قد تستغرق عملية الترحيل وقتًا مشروعًا في مكتبة كبيرة، بينما تشير رسالة فورية مثل «تم رفض الإذن» أو «قاعدة بيانات فارغة» أو «مسار مفقود» أو «مخطط غير متوافق» إلى مسار مختلف. لا تعاود تشغيل عملية الترحيل مرارًا لمجرد أن واجهة المستخدم لم تصبح متاحة فورًا.
إذا فتحت الحاوية كخادم جديد، فأوقفها قبل إعداد أي شيء. تعني هذه الأعراض عادةً أن الخدمة الجديدة تشير إلى الحالة الدائمة الخاطئة. صحّح تعيين وحدة التحميل أولًا؛ فقد يؤدي إعداد نسخة جديدة فارغة إلى إنشاء ملفات جديدة تحجب مسار الاسترداد.
تحقق من الإصدار الجديد قبل إزالة أصول التراجع
تحقق من هوية الخادم الأصلي والمستخدمين والمكتبات والبيانات الوصفية والإعدادات المهمة. شغّل عنصرًا واحدًا باستخدام التشغيل المباشر وعنصرًا آخر بالتحويل الممثل لحالتك، ثم شغّل مهمة مجدولة مهمة لإعدادك أو راقبها. افحص السجلات بحثًا عن أخطاء الترحيل وقاعدة البيانات والأذونات وFFmpeg المتكررة.
أعد تشغيل الحاوية مرة واحدة بعد أول جلسة ناجحة. لا يُتحقق من الإصدار الجديد بالكامل حتى يتمكن من إعادة فتح البيانات والأجهزة نفسها بعد إعادة إنشاء نظيفة أو إعادة تشغيل. يكشف ذلك الاعتماد العرضي على وحدة تحميل مؤقتة أو حالة وقت تشغيل مؤقتة.
احتفظ بالنسخة الاحتياطية السابقة للترقية ومرجع الصورة السابقة والتعريف المحفوظ حتى يجتاز الخادم فترة حمل العمل المعتادة. إذا لزم التراجع بعد ترحيل قاعدة البيانات، فاتبع حد الاستعادة الموثق من Jellyfin بدلًا من توجيه صورة أقدم إلى حالة تم ترحيلها بالفعل.
الدعم والنصائح
المزيد للقراءة

هل ينبغي أخذ نسخة احتياطية من Home Assistant أثناء تشغيله أم إيقاف الخدمة أولًا؟
يمكن تشغيل النسخ الاحتياطية المضمّنة في Home Assistant أثناء عمل النظام؛ أما نسخ نظام الملفات العادية فينبغي أن توقف Home Assistant أو تجعله في...

لماذا يعمل خادم Home Assistant بدرجة حرارة مرتفعة أو بضوضاء عالية أثناء ساعات الخمول؟
اربط ارتفاعات سرعة مروحة Home Assistant أو درجات الحرارة بمسجّل البيانات والنسخ الاحتياطية والتكاملات والمهام المستضافة معه قبل تغيير إعدادات التبريد أو حدود وحدة...

متى ينبغي إعادة بناء Home Assistant بدلًا من إصلاحه؟
أصلح أولًا أصغر طبقة معطّلة في Home Assistant، ثم استعد الحالة المعروفة بأنها سليمة، ولا تُعِد البناء إلا عندما يتعذّر الوثوق بالإعدادات الدائمة.

