إعداد الجهاز
ترشدك هذه الصفحة خلال إعداد جهازك الأول: إنشاء سياق، وتسجيل خادم، وتجهيزه، وتهيئة البنية التحتية اختيارياً للوصول العام.
الخطوة 1: إنشاء سياق محلي
السياق هو إعداد مسمّى يخزّن بيانات اعتماد SSH، وتعريفات الأجهزة، وربط المستودعات. فكّر فيه كمساحة عمل للمشروع.
rdc context create-local my-infra --ssh-key ~/.ssh/id_ed25519
| الخيار | مطلوب | الوصف |
|---|---|---|
--ssh-key <path> | نعم | مسار مفتاح SSH الخاص بك. يتم توسيع رمز التلدة (~) تلقائياً. |
--renet-path <path> | لا | مسار مخصص لملف renet التنفيذي على الأجهزة البعيدة. القيمة الافتراضية هي موقع التثبيت القياسي. |
ينشئ هذا سياقاً محلياً باسم my-infra ويخزّنه في ~/.rediacc/config.json.
يمكنك إنشاء سياقات متعددة (مثل
production،staging،dev). بدّل بينها باستخدام خيار--contextمع أي أمر.
الخطوة 2: إضافة جهاز
سجّل خادمك البعيد كجهاز في السياق:
rdc context add-machine server-1 --ip 203.0.113.50 --user deploy
| الخيار | مطلوب | الافتراضي | الوصف |
|---|---|---|---|
--ip <address> | نعم | - | عنوان IP أو اسم المضيف للخادم البعيد. |
--user <username> | نعم | - | اسم مستخدم SSH على الخادم البعيد. |
--port <port> | لا | 22 | منفذ SSH. |
--datastore <path> | لا | /mnt/rediacc | المسار على الخادم حيث يخزّن Rediacc المستودعات المشفرة. |
بعد إضافة الجهاز، يقوم rdc تلقائياً بتشغيل ssh-keyscan لجلب مفاتيح المضيف الخاصة بالخادم. يمكنك أيضاً تشغيل هذا يدوياً:
rdc context scan-keys server-1
لعرض جميع الأجهزة المسجلة:
rdc context machines
الخطوة 3: إعداد الجهاز
قم بتجهيز الخادم البعيد بجميع المتطلبات اللازمة:
rdc context setup-machine server-1
يقوم هذا الأمر بما يلي:
- رفع ملف renet التنفيذي إلى الخادم عبر SFTP
- تثبيت Docker و containerd و cryptsetup (إن لم تكن موجودة)
- إنشاء مستخدم النظام
rediacc(UID 7111) - إنشاء مجلد مخزن البيانات وتحضيره للمستودعات المشفرة
| الخيار | مطلوب | الافتراضي | الوصف |
|---|---|---|---|
--datastore <path> | لا | /mnt/rediacc | مجلد مخزن البيانات على الخادم. |
--datastore-size <size> | لا | 95% | نسبة القرص المتاح المخصصة لمخزن البيانات. |
--debug | لا | false | تفعيل المخرجات التفصيلية لاستكشاف الأخطاء. |
يجب تشغيل الإعداد مرة واحدة فقط لكل جهاز. من الآمن إعادة تشغيله عند الحاجة.
إدارة مفاتيح المضيف
إذا تغيّر مفتاح SSH الخاص بالخادم (مثلاً بعد إعادة التثبيت)، قم بتحديث المفاتيح المخزّنة:
rdc context scan-keys server-1
يُحدّث هذا حقل knownHosts في إعداداتك لهذا الجهاز.
اختبار اتصال SSH
تحقق من إمكانية الوصول إلى جهازك قبل المتابعة:
rdc machine test-connection --ip 203.0.113.50 --user deploy
يختبر هذا اتصال SSH ويُبلّغ عن:
- حالة الاتصال
- طريقة المصادقة المستخدمة
- إعدادات مفتاح SSH
- إدخال مفاتيح المضيف المعروفة
يمكنك حفظ مفتاح المضيف المُتحقق منه في إعدادات جهازك باستخدام --save -m server-1.
تهيئة البنية التحتية
للأجهزة التي تحتاج إلى تقديم حركة المرور بشكل عام، قم بتهيئة إعدادات البنية التحتية:
تعيين البنية التحتية
rdc context set-infra server-1 \
--public-ipv4 203.0.113.50 \
--base-domain example.com \
--cert-email admin@example.com \
--cf-dns-token your-cloudflare-api-token
| الخيار | الوصف |
|---|---|
--public-ipv4 <ip> | عنوان IPv4 العام للوصول الخارجي |
--public-ipv6 <ip> | عنوان IPv6 العام للوصول الخارجي |
--base-domain <domain> | النطاق الأساسي للتطبيقات (مثل example.com) |
--cert-email <email> | البريد الإلكتروني لشهادات TLS من Let’s Encrypt |
--cf-dns-token <token> | رمز API لـ Cloudflare DNS لتحديات ACME DNS-01 |
--tcp-ports <ports> | منافذ TCP إضافية مفصولة بفواصل لإعادة التوجيه (مثل 25,143,465,587,993) |
--udp-ports <ports> | منافذ UDP إضافية مفصولة بفواصل لإعادة التوجيه (مثل 53) |
عرض البنية التحتية
rdc context show-infra server-1
الدفع إلى الخادم
أنشئ وانشر إعدادات وكيل Traefik العكسي على الخادم:
rdc context push-infra server-1
يدفع هذا إعدادات الوكيل بناءً على إعدادات البنية التحتية الخاصة بك. يتولى Traefik إنهاء TLS والتوجيه وإعادة توجيه المنافذ.
تعيين القيم الافتراضية
عيّن قيماً افتراضية حتى لا تحتاج إلى تحديدها في كل أمر:
rdc context set machine server-1 # الجهاز الافتراضي
rdc context set team my-team # الفريق الافتراضي (الوضع السحابي، تجريبي)
بعد تعيين جهاز افتراضي، يمكنك حذف -m server-1 من الأوامر:
rdc repo create my-app --size 10G # يستخدم الجهاز الافتراضي
سياقات متعددة
أدر بيئات متعددة باستخدام سياقات مسمّاة:
# إنشاء سياقات منفصلة
rdc context create-local production --ssh-key ~/.ssh/id_prod
rdc context create-local staging --ssh-key ~/.ssh/id_staging
# استخدام سياق محدد
rdc repo list -m server-1 --context production
rdc repo list -m staging-1 --context staging
عرض جميع السياقات:
rdc context list
عرض تفاصيل السياق الحالي:
rdc context show