المستودعات
المستودع هو صورة قرص مشفرة بـ LUKS على الخادم البعيد. عند تحميله، يوفر:
- نظام ملفات معزول لبيانات تطبيقك
- عملية Docker مخصصة (منفصلة عن Docker المضيف)
- عناوين IP حلقية فريدة لكل خدمة ضمن شبكة فرعية /26
إنشاء مستودع
rdc repo create --name my-app -m server-1 --size 10G
| الخيار | مطلوب | الوصف |
|---|---|---|
-m, --machine <name> | نعم | الجهاز المستهدف حيث سيتم إنشاء المستودع. |
--size <size> | نعم | حجم صورة القرص المشفرة (مثل 5G، 10G، 50G). |
--skip-router-restart | No | Skip restarting the route server after the operation |
ستظهر في المخرجات ثلاث قيم مُنشأة تلقائياً:
- معرّف المستودع (GUID) — معرّف UUID يحدد صورة القرص المشفرة على الخادم.
- بيانات الاعتماد (Credential) — عبارة مرور عشوائية تُستخدم لتشفير وفك تشفير وحدة LUKS.
- معرّف الشبكة (Network ID) — عدد صحيح (يبدأ من 2816، ويزداد بمقدار 64) يحدد الشبكة الفرعية لعناوين IP لخدمات هذا المستودع.
احفظ بيانات الاعتماد بأمان. إنها مفتاح التشفير لمستودعك. في حالة فقدانها، لا يمكن استرجاع البيانات. يتم تخزين بيانات الاعتماد في ملف
config.jsonالمحلي ولكن لا تُخزّن على الخادم.
التحميل وإلغاء التحميل
التحميل يفك تشفير نظام ملفات المستودع ويجعله متاحاً. إلغاء التحميل يغلق الوحدة المشفرة.
rdc repo mount --name my-app -m server-1 # فك التشفير والتحميل
rdc repo unmount --name my-app -m server-1 # إلغاء التحميل وإعادة التشفير
| الخيار | الوصف |
|---|---|
--checkpoint | إنشاء نقطة تفتيش قبل التحميل/إلغاء التحميل |
--skip-router-restart | Skip restarting the route server after the operation |
التحقق من الحالة
rdc repo status --name my-app -m server-1
عرض جميع المستودعات
rdc repo list -m server-1
تغيير الحجم
عيّن المستودع إلى حجم محدد أو وسّعه بمقدار معين:
rdc repo resize --name my-app -m server-1 --size 20G # تعيين حجم محدد
rdc repo expand --name my-app -m server-1 --size 5G # إضافة 5G إلى الحجم الحالي
يجب إلغاء تحميل المستودع قبل تغيير حجمه.
نسخ مستودع (Fork)
أنشئ نسخة من مستودع موجود في حالته الحالية:
rdc repo fork --parent my-app --tag staging -m server-1
تستخدم النسخ نموذج name:tag: النسخة الناتجة تسمى my-app:staging. ينشئ هذا نسخة مشفرة جديدة بمعرّف GUID ومعرّف شبكة خاصين بها، مع مشاركة اسم المستودع الأصلي. تشترك النسخة في نفس بيانات اعتماد LUKS مع المستودع الأصلي.
التحقق من السلامة
تحقق من سلامة نظام ملفات مستودع:
rdc repo validate --name my-app -m server-1
الملكية
عيّن ملكية الملفات داخل المستودع للمستخدم العام (UID 7111). هذا مطلوب عادةً بعد رفع الملفات من محطة عملك، والتي تصل بمعرّف المستخدم المحلي الخاص بك.
rdc repo ownership --name my-app -m server-1
يكتشف الأمر تلقائياً مجلدات بيانات حاويات Docker (نقاط التحميل القابلة للكتابة) ويستثنيها. هذا يمنع تعطل الحاويات التي تدير ملفاتها بمعرّفات مستخدم خاصة بها (مثل MariaDB=999، www-data=33).
| الخيار | الوصف |
|---|---|
--uid <uid> | تعيين معرّف مستخدم مخصص بدلاً من 7111 |
--skip-router-restart | Skip restarting the route server after the operation |
لفرض الملكية على جميع الملفات، بما في ذلك بيانات الحاويات:
rdc repo ownership --name my-app -m server-1
راجع دليل الترحيل لشرح كامل لمتى وكيف تُستخدم الملكية أثناء ترحيل المشاريع.
تطبيق قالب
طبّق قالباً لتهيئة مستودع بملفات:
rdc repo template apply --name my-template -m server-1 -r my-app --file ./my-template.tar.gz
الحذف
تدمير المستودع وجميع البيانات الموجودة فيه بشكل دائم:
rdc repo delete --name my-app -m server-1
يؤدي هذا إلى تدمير صورة القرص المشفرة بشكل دائم. لا يمكن التراجع عن هذا الإجراء.