توثيق Nibleaf

نسخ Nibleaf احتياطيًا واستعادته وترقيته

اجمع بيانات Postgres وتخزين الكائنات في مجموعة استعادة واحدة، واختبر الاستعادة في بيئة معزولة، ثم رقِّ إصدار Nibleaf المثبّت أو تراجع إلى الإصدار السابق.

  • 2 دقيقة قراءة
  • آخر تحديث 22‏/08‏/2026

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

إنشاء نسخة احتياطية

عند التنفيذ من نسخة محلية للمستودع، يستخدم السكربت المضمّن افتراضيًا docker-compose.prod.yml و./backups ومدة احتفاظ محلية تبلغ 14 يومًا ووحدة تخزين maxio المضمّنة:

bash
./scripts/backup.sh

في مجلد أنشأه المثبّت الإرشادي حيث يحمل ملف Compose الاسم docker-compose.yml، وجّه السكربت إلى ذلك الملف:

bash
COMPOSE_FILE=docker-compose.yml ./scripts/backup.sh

ينشئ السكربت ملف pg_dump بتنسيق مخصّص، وينشئ أرشيف تخزين مضغوطًا عندما تكون وحدة تخزين Docker المهيّأة موجودة. لا تلتقط خطوة وحدة تخزين Docker حاويات R2 أو S3 الخارجية؛ استخدم إمكانات المزوّد لإدارة الإصدارات أو النسخ المتماثل، أو أنشئ نسخة احتياطية مستقلة للحاوية.

انقل الملفين إلى خارج المضيف باستخدام بيانات اعتماد منفصلة، وسجّل المعرّفات والأحجام والطوابع الزمنية وسياسة الاحتفاظ وإصدار التطبيق.

اختبار الاستعادة

لا تستبدل بيئة الإنتاج مطلقًا عند إجراء تمرين. أنشئ قاعدة بيانات ووجهة تخزين ومصدر تطبيق معزولة. اتبع أوامر الاستعادة الموثّقة في أعلى scripts/backup.sh، ثم تحقق من المشاريع والعضويات وأشجار الصفحات والمسودات الحالية وعمليات النشر ذات الحالة READY والأصول المرفوعة وعزل المصادقة والبحث العام.

سجّل الزمن المنقضي وكل خطوة يدوية. لا يُعد رمز خروج ناجح لمهمة النسخ الاحتياطي دليلًا على قابلية الاستعادة من دون نجاح استعادة معزولة.

ترقية إصدار مثبّت

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

dotenv
NIBLEAF_VERSION=v0.2.0

اسحب الخدمات وأعد إنشاءها:

bash
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d

تحقق من ملخّص الصورة الرقمي، وسجل الترحيل، وسلامة الخدمات، وتسجيل الدخول، وعملية رفع واحدة، وعملية نشر واحدة، وعملية بحث واحدة، وصفحة عامة واحدة.

التراجع الآمن إلى الإصدار السابق

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

لا تجمع ترقية التطبيق مع تغيير الإصدار الرئيسي لـPostgreSQL. تعامل مع ترقية قاعدة البيانات على أنها مشروع مستقل للتفريغ والاستعادة.