كيفية منع فقدان إعدادات Immich أثناء الترقية

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

امنع فقدان إعدادات Immich أثناء الترقية عبر التعامل مع ملف Compose وقيم البيئة وقاعدة البيانات ومكتبة التحميل وتعريفات تركيب المكتبات الخارجية باعتبارها أصولًا دائمة منفصلة يجب التقاطها واستعادتها معًا.

يمكن استبدال الحاوية، أما الإعدادات المحيطة بها فلا يمكن استبدالها بسهولة. قد تبدو الترقية وكأنها محَت Immich عندما يُحل تركيب الربط النسبي انطلاقًا من مجلد مشروع مختلف، أو عندما لا يصل تعديل البيئة إلى الحاوية المُعاد إنشاؤها، أو عندما تبدأ المكدسة الجديدة باستخدام قاعدة بيانات فارغة. احصر مكونات النشر النشط أولًا، واحتفظ بنسخ مؤرخة خارج المضيف، وأثبت نجاح إعادة إنشاء مضبوطة قبل التحويل إلى الإنتاج.

التقط بيانات النشر النشط قبل كل ترقية

صدّر إعداد Compose الفعلي بعد حجب الأسرار، وسجّل إصدارات الصور أو بصماتها، وانسخ ملفات Compose والبيئة إلى مساحة تخزين ذات إصدارات. افحص التركيبات قيد التشغيل بدلًا من افتراض أن الملف المفتوح في محررك هو الذي شغّل الحاويات الحالية. تكون العملية ناجحة عندما يقابل كل مسار وقت تشغيل موقعًا معروفًا على المضيف.

سجّل مسارات المكتبات الخارجية، وإعدادات الوكيل العكسي، وعنوان URL للتعلّم الآلي، وقيم اتصال قاعدة البيانات، وهوية المستخدم والمجموعة، وأسماء الشبكات، وأي أجهزة لتسريع العتاد. سيؤدي غياب أي عنصر هنا إلى اختلاف غير مفسر بعد الترقية.

تُظهر أسئلة الترقية في المجتمع مرارًا أن المشغلين يفقدون أثر إصدار Compose أو تخطيط البيئة المعمول به. والدرس المفيد من نقاش حول إعدادات الترقية هو الاحتفاظ بالتعريف العامل الحالي قبل ترجمته.

انسخ قاعدة البيانات والوسائط وملفات النشر احتياطيًا بشكل منفصل

أنشئ نسخة احتياطية أصلية لقاعدة البيانات، بالإضافة إلى نسخة احتياطية لنظام الملفات أو لقطة لمكتبة التحميل ومجلد النشر. سجّل أوقات البدء والانتهاء، وأحجام الأرشيفات، وقيم التجزئة. فالنسخة الاحتياطية التي تحتوي على YAML الخاص بـ Compose فقط يمكنها إعادة إنشاء الحاويات، لكنها لا تستطيع استعادة الحسابات أو البيانات الوصفية أو الألبومات أو سجلات الأصول.

استخدم نسخة احتياطية بعد إيقاف الخدمة لتحقيق أبسط حد للاتساق، أو نسّق تفريغًا مباشرًا لقاعدة البيانات مع لقطة للتخزين بحيث تكون علاقتهما موثقة. احتفظ بالمكتبات الخارجية ضمن الجرد حتى إن لم يكن Immich يملك ملفاتها الأصلية، لأن المسارات وقواعد الوصول لا تزال تؤثر في الخدمة المستعادة.

يؤكد إجراء الترقية إلى إصدار رئيسي الذي يديره المجتمع أهمية الحفاظ على قاعدة البيانات والوسائط وملفات Compose والبيئة. تعامل مع تسلسله باعتباره خبرة تشغيلية، وتحقق من كل خطوة مقابل الإصدار الذي تنشره فعليًا.

جهّز الترقية باستخدام إصدارات مثبتة

اقرأ ملاحظات الإصدار لكل إصدار تم تخطيه، وحدّث تعريف النشر المحفوظ بعناية. ثبّت الإصدار المستهدف، ونزّله من دون إزالة الصور القديمة، وتحقق من إعداد Compose المُولّد. وتفشل بوابة التجهيز عند وجود متغيرات غير معروفة أو تركيبات فارغة أو إصدارات مختلطة للخدمات.

عندما تسمح السعة، استعد النسخة الاحتياطية إلى مكدسة اختبار معزولة تستخدم منافذ مختلفة ولا تملك صلاحية الكتابة إلى الإنتاج. شغّلها على الإصدار المستهدف وافحص عمليات الترحيل والمستخدمين ومسارات التخزين والمهام الخلفية. لا يثبت تشغيل الحاوية بنجاح وحده أن المكتبة الأصلية متصلة.

يساعد دليل ZimaSpace ذي الصلة حول NAS آمن مستضاف ذاتيًا في وضع ملفات النشر والنسخ الاحتياطية خارج حدود المضيف الواحد وبيانات الاعتماد الواحدة التي قد تعطلها الترقية.

أثبت استمرار الإعدادات بعد إعادة الإنشاء

قبل التحويل، أعد إنشاء حاويات الاختبار من الملفات المحفوظة بدلًا من إعادة تشغيلها في مكانها. تحقق من المستخدمين وإعدادات الخادم وقوالب التخزين والمكتبات والمهام والوصول عبر الوكيل وقيم البيئة الفعلية. وتكون العملية ناجحة عندما تنجو الإعدادات من الاستبدال لأنها موجودة في مكونات دائمة موثقة.

بعد التحويل إلى الإنتاج، ارفع أصلًا تجريبيًا واحدًا، ونفّذ بحثًا، وافتح ملفًا أصليًا، وأنشئ نسخة احتياطية جديدة لقاعدة البيانات. أعد تشغيل المكدسة والمضيف، ثم كرر الاختبارات. احتفظ بالإصدار القديم والنسخة الاحتياطية وتعريف النشر حتى يظل عبء العمل المعتاد مستقرًا طوال فترة المراقبة.

إذا بدأت الترقية بالفعل بحالة فارغة، فأوقفها قبل أن يؤدي تسجيل المستخدمين أو رفع ملفات جديدة إلى إنشاء حالة متعارضة. أعد توصيل مسار دائم تم التحقق منه فقط، أو استعد البيانات إلى هدف نظيف. ارجع إلى الإصدار السابق عند غياب المستخدمين أو الأصول المتوقعة؛ وصعّد المشكلة باستخدام إعداد Compose الفعلي بعد تنقيته، والتركيبات، والإصدارات، والطوابع الزمنية للنسخ الاحتياطية إذا ظلّت الهوية غير واضحة.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.