Hosting
Oracle Cloud
شغّل Gateway دائمًا لـ OpenClaw على فئة ARM Always Free من Oracle Cloud (حتى 4 وحدات OCPU وذاكرة RAM بسعة 24 غيغابايت ومساحة تخزين 200 غيغابايت) دون تكلفة.
المتطلبات الأساسية
- حساب Oracle Cloud (التسجيل) -- راجع دليل التسجيل المجتمعي إذا واجهت مشكلات
- حساب Tailscale (مجاني على tailscale.com)
- زوج مفاتيح SSH
- نحو 30 دقيقة
الإعداد
إنشاء مثيل OCI
- سجّل الدخول إلى وحدة تحكم Oracle Cloud.
- انتقل إلى Compute > Instances > Create Instance.
- اضبط الإعدادات:
- Name:
openclaw - Image: Ubuntu 24.04 (aarch64)
- Shape:
VM.Standard.A1.Flex(Ampere ARM) - OCPUs: وحدتان (أو حتى 4)
- Memory: 12 غيغابايت (أو حتى 24 غيغابايت)
- Boot volume: 50 غيغابايت (حتى 200 غيغابايت مجانًا)
- SSH key: أضف مفتاحك العام
- Name:
- انقر على Create ودوّن عنوان IP العام.
الاتصال بالنظام وتحديثه
ssh ubuntu@YOUR_PUBLIC_IP sudo apt update && sudo apt upgrade -ysudo apt install -y build-essentialحزمة build-essential مطلوبة لترجمة بعض الاعتماديات على ARM.
ضبط المستخدم واسم المضيف
sudo hostnamectl set-hostname openclawsudo passwd ubuntusudo loginctl enable-linger ubuntuيؤدي تمكين الاستمرار إلى إبقاء خدمات المستخدم قيد التشغيل بعد تسجيل الخروج.
تثبيت Tailscale
curl -fsSL https://tailscale.com/install.sh | shsudo tailscale up --ssh --hostname=openclawمن الآن فصاعدًا، اتصل عبر Tailscale: ssh ubuntu@openclaw.
تثبيت OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bashsource ~/.bashrcعند ظهور السؤال "How do you want to hatch your bot?"، حدّد Do this later.
ضبط Gateway
استخدم المصادقة بالرمز المميز مع Tailscale Serve للوصول الآمن عن بُعد.
openclaw config set gateway.bind loopbackopenclaw config set gateway.auth.mode tokenopenclaw doctor --generate-gateway-tokenopenclaw config set gateway.tailscale.mode serveopenclaw config set gateway.trustedProxies '["127.0.0.1"]' systemctl --user restart openclaw-gateway.serviceيُستخدم gateway.trustedProxies=["127.0.0.1"] هنا فقط لمعالجة عنوان IP المُمرَّر/العميل المحلي الخاصة بوكيل Tailscale Serve المحلي. وهو ليس gateway.auth.mode: "trusted-proxy". تحتفظ مسارات عارض الفروق بسلوك الإغلاق عند الفشل في هذا الإعداد: تُرجع طلبات العارض المباشرة من 127.0.0.1 من دون ترويسات الوكيل المُمرَّرة الرسالة Diff not found. استخدم mode=file / mode=both للمرفقات، أو فعّل العارضات البعيدة عمدًا واضبط plugins.entries.diffs.config.viewerBaseUrl (أو مرّر baseUrl للوكيل) إذا كنت تحتاج إلى روابط عارض قابلة للمشاركة.
تأمين VCN
احظر جميع حركة المرور باستثناء Tailscale عند حافة الشبكة:
- انتقل إلى Networking > Virtual Cloud Networks في وحدة تحكم OCI.
- انقر على شبكة VCN الخاصة بك، ثم Security Lists > Default Security List.
- أزل جميع قواعد حركة المرور الواردة باستثناء
0.0.0.0/0 UDP 41641(Tailscale). - احتفظ بقواعد حركة المرور الصادرة الافتراضية (السماح بكل الاتصالات الصادرة).
يؤدي ذلك إلى حظر SSH على المنفذ 22 وHTTP وHTTPS وكل ما عداها عند حافة الشبكة. ومن هذه النقطة فصاعدًا، لا يمكنك الاتصال إلا عبر Tailscale.
التحقق
openclaw --versionsystemctl --user status openclaw-gateway.servicetailscale serve statuscurl http://localhost:18789ادخل إلى واجهة التحكم من أي جهاز على شبكتك الخاصة:
https://openclaw.<tailnet-name>.ts.net/استبدل <tailnet-name> باسم شبكتك الخاصة (الظاهر في tailscale status).
التحقق من الوضع الأمني
عند تأمين VCN (مع فتح UDP 41641 فقط) وربط Gateway بواجهة الاسترجاع، تُحظر حركة المرور العامة عند حافة الشبكة ويقتصر وصول المسؤول على الشبكة الخاصة. يلغي ذلك الحاجة إلى عدة خطوات تقليدية لتقوية أمان الخادم الافتراضي الخاص:
| الخطوة التقليدية | هل هي مطلوبة؟ | السبب |
|---|---|---|
| جدار الحماية UFW | لا | تحظر VCN حركة المرور قبل وصولها إلى المثيل. |
| fail2ban | لا | المنفذ 22 محظور على مستوى VCN؛ ولا يوجد سطح لهجمات القوة الغاشمة. |
| تقوية أمان sshd | لا | لا يستخدم SSH الخاص بـ Tailscale خدمة sshd. |
| تعطيل تسجيل دخول المستخدم الجذر | لا | يصادق Tailscale عبر هوية الشبكة الخاصة، وليس عبر مستخدمي النظام. |
| المصادقة بمفتاح SSH فقط | لا | للسبب نفسه -- تحل هوية الشبكة الخاصة محل مفاتيح SSH الخاصة بالنظام. |
| تقوية أمان IPv6 | ليس عادةً | يعتمد على إعدادات VCN/الشبكة الفرعية؛ تحقّق مما أُسنِد وكُشِف فعليًا. |
لا يزال ما يلي موصى به:
- استخدم
chmod 700 ~/.openclawلتقييد أذونات ملفات بيانات الاعتماد. - استخدم
openclaw security auditلإجراء فحص للوضع الأمني خاص بـ OpenClaw. - نفّذ
sudo apt update && sudo apt upgradeبانتظام لتثبيت تصحيحات نظام التشغيل. - راجع الأجهزة دوريًا في وحدة تحكم إدارة Tailscale.
أوامر تحقق سريعة:
# تأكد من عدم وجود منافذ عامة في حالة استماعsudo ss -tlnp | grep -v '127.0.0.1\|::1' # تحقق من أن SSH الخاص بـ Tailscale نشطtailscale status | grep -q 'offers: ssh' && echo "Tailscale SSH active" # اختياري: عطّل sshd بالكامل بعد التأكد من أن SSH الخاص بـ Tailscale يعملsudo systemctl disable --now sshملاحظات ARM
تعمل فئة Always Free بمعمارية ARM (aarch64). تعمل معظم ميزات OpenClaw بصورة جيدة؛ إلا أن عددًا قليلًا من الملفات الثنائية الأصلية يحتاج إلى إصدارات مخصّصة لـ ARM:
- Node.js وTelegram وWhatsApp (Baileys): تعمل بلغة JavaScript فقط، ولا توجد مشكلات.
- معظم حزم npm التي تحتوي على شيفرة أصلية: تتوفر لها ملفات
linux-arm64مُنشأة مسبقًا. - أدوات CLI المساعدة الاختيارية (مثل ملفات Go/Rust الثنائية التي توفرها Skills): تحقّق من وجود إصدار
aarch64/linux-arm64قبل التثبيت.
تحقّق من المعمارية باستخدام uname -m (يجب أن يطبع aarch64). بالنسبة إلى الملفات الثنائية التي لا يتوفر لها إصدار ARM، ثبّتها من المصدر أو تخطَّها.
الاستمرارية والنسخ الاحتياطية
توجد حالة OpenClaw ضمن:
~/.openclaw/-- ملفopenclaw.jsonوملفاتauth-profiles.jsonالخاصة بكل وكيل وحالة القنوات/الموفّرين وبيانات الجلسات.~/.openclaw/workspace/-- مساحة عمل الوكيل (SOUL.md والذاكرة والعناصر الناتجة).
تستمر هذه البيانات بعد عمليات إعادة التشغيل. لإنشاء لقطة قابلة للنقل:
openclaw backup createالخيار الاحتياطي: نفق SSH
إذا لم يعمل Tailscale Serve، فاستخدم نفق SSH من جهازك المحلي:
ssh -L 18789:127.0.0.1:18789 ubuntu@openclawثم افتح http://localhost:18789.
استكشاف الأخطاء وإصلاحها
فشل إنشاء المثيل ("Out of capacity") -- تحظى مثيلات ARM من الفئة المجانية بشعبية كبيرة. جرّب نطاق توافر مختلفًا أو أعد المحاولة في غير ساعات الذروة.
تعذّر اتصال Tailscale -- شغّل sudo tailscale up --ssh --hostname=openclaw --reset لإعادة المصادقة.
تعذّر بدء Gateway -- شغّل openclaw doctor --non-interactive وتحقّق من السجلات باستخدام journalctl --user -u openclaw-gateway.service -n 50.
مشكلات الملفات الثنائية على ARM -- تعمل معظم حزم npm على ARM64. بالنسبة إلى الملفات الثنائية الأصلية، ابحث عن إصدارات linux-arm64 أو aarch64. تحقّق من المعمارية باستخدام uname -m.
الخطوات التالية
- القنوات -- وصّل Telegram وWhatsApp وDiscord وغيرها
- إعداد Gateway -- جميع خيارات الإعداد
- التحديث -- حافظ على تحديث OpenClaw