Containers

Ansible

انشر OpenClaw إلى خوادم الإنتاج باستخدام openclaw-ansible -- مثبّت آلي ببنية تركّز على الأمان أولاً.

المتطلبات الأساسية

المتطلب التفاصيل
نظام التشغيل Debian 11+ أو Ubuntu 20.04+
الوصول صلاحيات Root أو sudo
الشبكة اتصال إنترنت لتثبيت الحزم
Ansible 2.14+ (يثبّته سكربت البدء السريع تلقائياً)

ما الذي ستحصل عليه

  • أمان يبدأ بجدار الحماية -- عزل UFW + Docker (يمكن الوصول إلى SSH + Tailscale فقط)
  • Tailscale VPN -- وصول آمن عن بُعد دون كشف الخدمات للعامة
  • Docker -- حاويات عزل منفصلة، وروابط محصورة في localhost فقط
  • دفاع متعدد الطبقات -- بنية أمان من 4 طبقات
  • تكامل Systemd -- بدء تلقائي عند الإقلاع مع تقوية الأمان
  • إعداد بأمر واحد -- نشر كامل خلال دقائق

البدء السريع

تثبيت بأمر واحد:

curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bash

ما الذي يتم تثبيته

يثبّت Ansible playbook ويضبط ما يلي:

  1. Tailscale -- شبكة VPN متداخلة للوصول الآمن عن بُعد
  2. جدار حماية UFW -- منافذ SSH + Tailscale فقط
  3. Docker CE + Compose V2 -- للواجهة الخلفية الافتراضية لبيئة عزل الوكيل
  4. Node.js 24 + pnpm -- تبعيات وقت التشغيل (يبقى Node 22 LTS، حالياً 22.16+، مدعوماً)
  5. OpenClaw -- مستند إلى المضيف، وليس داخل حاوية
  6. خدمة Systemd -- بدء تلقائي مع تقوية الأمان

إعداد ما بعد التثبيت

  • التبديل إلى مستخدم openclaw

    sudo -i -u openclaw
    
  • تشغيل معالج التهيئة

    يرشدك سكربت ما بعد التثبيت خلال ضبط إعدادات OpenClaw.

  • ربط مزودي المراسلة

    سجّل الدخول إلى WhatsApp أو Telegram أو Discord أو Signal:

    openclaw channels login
    
  • التحقق من التثبيت

    sudo systemctl status openclaw
    sudo journalctl -u openclaw -f
    
  • الاتصال بـ Tailscale

    انضم إلى شبكة VPN المتداخلة لديك للوصول الآمن عن بُعد.

  • أوامر سريعة

    # Check service status
    sudo systemctl status openclaw
    
    # View live logs
    sudo journalctl -u openclaw -f
    
    # Restart gateway
    sudo systemctl restart openclaw
    
    # Provider login (run as openclaw user)
    sudo -i -u openclaw
    openclaw channels login
    

    بنية الأمان

    يستخدم النشر نموذج دفاع من 4 طبقات:

    1. جدار الحماية (UFW) -- لا تُكشف للعامة إلا منافذ SSH (22) + Tailscale (41641/udp)
    2. VPN (Tailscale) -- لا يمكن الوصول إلى Gateway إلا عبر شبكة VPN المتداخلة
    3. عزل Docker -- تمنع سلسلة iptables المسماة DOCKER-USER كشف المنافذ الخارجية
    4. تقوية Systemd -- NoNewPrivileges، وPrivateTmp، ومستخدم غير مميز

    للتحقق من سطح الهجوم الخارجي لديك:

    nmap -p- YOUR_SERVER_IP
    

    يجب أن يكون المنفذ 22 (SSH) وحده مفتوحاً. كل الخدمات الأخرى (Gateway، Docker) مقفلة.

    يُثبّت Docker لبيئات عزل الوكلاء (تنفيذ الأدوات المعزول)، وليس لتشغيل Gateway نفسه. راجع بيئة عزل متعددة الوكلاء والأدوات لضبط العزل.

    التثبيت اليدوي

    إذا كنت تفضّل التحكم اليدوي بدلاً من الأتمتة:

  • تثبيت المتطلبات الأساسية

    sudo apt update && sudo apt install -y ansible git
    
  • استنساخ المستودع

    git clone https://github.com/openclaw/openclaw-ansible.git
    cd openclaw-ansible
    
  • تثبيت مجموعات Ansible

    ansible-galaxy collection install -r requirements.yml
    
  • تشغيل playbook

    ./run-playbook.sh
    

    بدلاً من ذلك، شغّله مباشرة ثم نفّذ سكربت الإعداد يدوياً بعد ذلك:

    ansible-playbook playbook.yml --ask-become-pass
    # Then run: /tmp/openclaw-setup.sh
    
  • التحديث

    يضبط مثبّت Ansible OpenClaw للتحديثات اليدوية. راجع التحديث لتدفق التحديث القياسي.

    لإعادة تشغيل Ansible playbook (على سبيل المثال، لتغييرات الضبط):

    cd openclaw-ansible
    ./run-playbook.sh
    

    هذا الإجراء idempotent وآمن للتشغيل عدة مرات.

    استكشاف الأخطاء وإصلاحها

    جدار الحماية يحظر اتصالي
    • تأكد أولاً من إمكانية الوصول عبر Tailscale VPN
    • الوصول عبر SSH (المنفذ 22) مسموح دائماً
    • لا يمكن الوصول إلى Gateway إلا عبر Tailscale بحسب التصميم
    الخدمة لا تبدأ
    # Check logs
    sudo journalctl -u openclaw -n 100
    
    # Verify permissions
    sudo ls -la /opt/openclaw
    
    # Test manual start
    sudo -i -u openclaw
    cd ~/openclaw
    openclaw gateway run
    
    مشكلات بيئة عزل Docker
    # Verify Docker is running
    sudo systemctl status docker
    
    # Check sandbox image
    sudo docker images | grep openclaw-sandbox
    
    # Build sandbox image if missing (requires source checkout)
    cd /opt/openclaw/openclaw
    sudo -u openclaw ./scripts/sandbox-setup.sh
    # For npm installs without a source checkout, see
    # https://docs.openclaw.ai/gateway/sandboxing#images-and-setup
    
    فشل تسجيل الدخول إلى المزود

    تأكد من أنك تعمل كمستخدم openclaw:

    sudo -i -u openclaw
    openclaw channels login
    

    الضبط المتقدم

    للاطلاع على بنية الأمان التفصيلية واستكشاف الأخطاء وإصلاحها، راجع مستودع openclaw-ansible:

    ذو صلة