انتقل إلى المحتوى الرئيسي انتقل إلى الملاحة انتقل إلى التذييل

المستودعات

إنشاء وإدارة وتشغيل المستودعات المشفرة بـ LUKS على الأجهزة البعيدة.

المستودعات

المستودع هو صورة قرص مشفرة بـ LUKS على الخادم البعيد. عند تحميله، يوفر:

  • نظام ملفات معزول لبيانات تطبيقك
  • عملية Docker مخصصة (منفصلة عن Docker المضيف)
  • عناوين IP حلقية فريدة لكل خدمة ضمن شبكة فرعية /26

إنشاء مستودع

rdc repo create my-app -m server-1 --size 10G
الخيارمطلوبالوصف
-m, --machine <name>نعمالجهاز المستهدف حيث سيتم إنشاء المستودع.
--size <size>نعمحجم صورة القرص المشفرة (مثل 5G، 10G، 50G).

ستظهر في المخرجات ثلاث قيم مُنشأة تلقائياً:

  • معرّف المستودع (GUID) — معرّف UUID يحدد صورة القرص المشفرة على الخادم.
  • بيانات الاعتماد (Credential) — عبارة مرور عشوائية تُستخدم لتشفير وفك تشفير وحدة LUKS.
  • معرّف الشبكة (Network ID) — عدد صحيح (يبدأ من 2816، ويزداد بمقدار 64) يحدد الشبكة الفرعية لعناوين IP لخدمات هذا المستودع.

احفظ بيانات الاعتماد بأمان. إنها مفتاح التشفير لمستودعك. في حالة فقدانها، لا يمكن استرجاع البيانات. يتم تخزين بيانات الاعتماد في ملف config.json المحلي ولكن لا تُخزّن على الخادم.

التحميل وإلغاء التحميل

التحميل يفك تشفير نظام ملفات المستودع ويجعله متاحاً. إلغاء التحميل يغلق الوحدة المشفرة.

rdc repo mount my-app -m server-1       # فك التشفير والتحميل
rdc repo unmount my-app -m server-1     # إلغاء التحميل وإعادة التشفير
الخيارالوصف
--checkpointإنشاء نقطة تفتيش قبل التحميل/إلغاء التحميل

التحقق من الحالة

rdc repo status my-app -m server-1

عرض جميع المستودعات

rdc repo list -m server-1

تغيير الحجم

عيّن المستودع إلى حجم محدد أو وسّعه بمقدار معين:

rdc repo resize my-app -m server-1 --size 20G    # تعيين حجم محدد
rdc repo expand my-app -m server-1 --size 5G      # إضافة 5G إلى الحجم الحالي

يجب إلغاء تحميل المستودع قبل تغيير حجمه.

نسخ مستودع (Fork)

أنشئ نسخة من مستودع موجود في حالته الحالية:

rdc repo fork my-app -m server-1 --tag my-app-staging

ينشئ هذا نسخة مشفرة جديدة بمعرّف GUID ومعرّف شبكة خاصين بها. تشترك النسخة في نفس بيانات اعتماد LUKS مع المستودع الأصلي.

التحقق من السلامة

تحقق من سلامة نظام ملفات مستودع:

rdc repo validate my-app -m server-1

الملكية

عيّن ملكية الملفات داخل المستودع للمستخدم العام (UID 7111). هذا مطلوب عادةً بعد رفع الملفات من محطة عملك، والتي تصل بمعرّف المستخدم المحلي الخاص بك.

rdc repo ownership my-app -m server-1

يكتشف الأمر تلقائياً مجلدات بيانات حاويات Docker (نقاط التحميل القابلة للكتابة) ويستثنيها. هذا يمنع تعطل الحاويات التي تدير ملفاتها بمعرّفات مستخدم خاصة بها (مثل MariaDB=999، www-data=33).

الخيارالوصف
--uid <uid>تعيين معرّف مستخدم مخصص بدلاً من 7111
--forceتخطي اكتشاف أحجام Docker وتغيير ملكية كل شيء

لفرض الملكية على جميع الملفات، بما في ذلك بيانات الحاويات:

rdc repo ownership my-app -m server-1 --force

تحذير: استخدام --force على حاويات قيد التشغيل قد يعطّلها. أوقف الخدمات أولاً باستخدام rdc repo down إذا لزم الأمر.

راجع دليل الترحيل لشرح كامل لمتى وكيف تُستخدم الملكية أثناء ترحيل المشاريع.

تطبيق قالب

طبّق قالباً لتهيئة مستودع بملفات:

rdc repo template my-app -m server-1 --file ./my-template.tar.gz

الحذف

تدمير المستودع وجميع البيانات الموجودة فيه بشكل دائم:

rdc repo delete my-app -m server-1

يؤدي هذا إلى تدمير صورة القرص المشفرة بشكل دائم. لا يمكن التراجع عن هذا الإجراء.