Containers

Ansible

OpenClaw را با openclaw-ansible، یک نصب‌کنندهٔ خودکار با معماری امنیت‌محور، روی سرورهای عملیاتی مستقر کنید.

پیش‌نیازها

نیازمندی جزئیات
سیستم‌عامل Debian 11+ یا Ubuntu 20.04+
دسترسی دسترسی‌های root یا sudo
شبکه اتصال اینترنت برای نصب بسته‌ها
Ansible نسخهٔ 2.14+ (به‌طور خودکار توسط اسکریپت شروع سریع نصب می‌شود)

آنچه دریافت می‌کنید

  • امنیت مبتنی بر دیوار آتش: UFW + جداسازی Docker (فقط SSH + Tailscale در دسترس هستند)
  • VPN مبتنی بر Tailscale برای دسترسی از راه دور بدون در معرض عموم قرار دادن سرویس‌ها
  • Docker برای کانتینرهای sandbox ایزوله با اتصال فقط به localhost
  • یکپارچه‌سازی با systemd همراه با مقاوم‌سازی و راه‌اندازی خودکار هنگام بوت
  • راه‌اندازی با یک فرمان

شروع سریع

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

موارد نصب‌شده

  1. Tailscale (VPN مش برای دسترسی امن از راه دور)
  2. دیوار آتش UFW (فقط درگاه‌های SSH + Tailscale)
  3. Docker CE + Compose V2 (بک‌اند پیش‌فرض sandbox عامل)
  4. Node.js و pnpm (OpenClaw به Node 22.19+ یا 23.11+ نیاز دارد؛ Node 24 توصیه می‌شود)
  5. OpenClaw که مستقیماً روی میزبان نصب می‌شود، نه در کانتینر
  6. یک سرویس systemd با مقاوم‌سازی امنیتی

راه‌اندازی پس از نصب

  • تغییر به کاربر openclaw

    bash
    sudo -i -u openclaw
  • اجرای راهنمای راه‌اندازی اولیه

    اسکریپت پس از نصب شما را در پیکربندی OpenClaw راهنمایی می‌کند.

  • اتصال کانال‌های پیام‌رسانی

    وارد WhatsApp، Telegram، Discord یا Signal شوید:

    bash
    openclaw channels login --channel <name>
  • تأیید نصب

    bash
    sudo systemctl status openclawsudo journalctl -u openclaw -f
  • اتصال به Tailscale

    برای دسترسی امن از راه دور به شبکهٔ مش VPN خود بپیوندید.

  • فرمان‌های سریع

    bash
    # بررسی وضعیت سرویسsudo systemctl status openclaw # مشاهدهٔ زندهٔ گزارش‌هاsudo journalctl -u openclaw -f # راه‌اندازی مجدد Gatewaysudo systemctl restart openclaw # ورود به کانال (به‌عنوان کاربر openclaw اجرا شود)sudo -i -u openclawopenclaw channels login --channel <name>

    معماری امنیتی

    مدل دفاعی چهارلایه:

    1. دیوار آتش (UFW): فقط SSH (22) و Tailscale (41641/udp) در معرض دسترسی عمومی قرار دارند
    2. VPN (Tailscale): Gateway فقط از طریق شبکهٔ مش VPN قابل دسترسی است
    3. جداسازی Docker: زنجیرهٔ iptables با نام DOCKER-USER از در معرض قرار گرفتن درگاه‌ها برای دسترسی خارجی جلوگیری می‌کند
    4. مقاوم‌سازی systemd: NoNewPrivileges، PrivateTmp، کاربر بدون امتیاز ویژه

    سطح حملهٔ خارجی خود را بررسی کنید:

    bash
    nmap -p- YOUR_SERVER_IP

    فقط درگاه 22 (SSH) باید باز باشد. Gateway و Docker محدود و محافظت‌شده باقی می‌مانند.

    Docker برای sandboxهای عامل (اجرای ایزولهٔ ابزارها) نصب می‌شود، نه برای اجرای Gateway. برای پیکربندی sandbox به Sandbox و ابزارهای چندعاملی مراجعه کنید.

    نصب دستی

  • نصب پیش‌نیازها

    bash
    sudo apt update && sudo apt install -y ansible git
  • همانندسازی مخزن

    bash
    git clone https://github.com/openclaw/openclaw-ansible.gitcd openclaw-ansible
  • نصب مجموعه‌های Ansible

    bash
    ansible-galaxy collection install -r requirements.yml
  • اجرای playbook

    bash
    ./run-playbook.sh

    یا playbook را مستقیماً اجرا کنید و سپس اسکریپت راه‌اندازی را به‌صورت دستی اجرا کنید:

    bash
    ansible-playbook playbook.yml --ask-become-pass# سپس اجرا کنید: /tmp/openclaw-setup.sh
  • به‌روزرسانی

    نصب‌کنندهٔ Ansible، OpenClaw را برای به‌روزرسانی دستی آماده می‌کند؛ برای روند استاندارد به به‌روزرسانی مراجعه کنید.

    برای اجرای دوبارهٔ playbook (برای مثال، پس از تغییرات پیکربندی):

    bash
    cd openclaw-ansible./run-playbook.sh

    این عملیات ایدمپوتنت است و می‌توان آن را چندین بار با خیال آسوده اجرا کرد.

    عیب‌یابی

    دیوار آتش اتصال من را مسدود می‌کند
    • ابتدا از طریق VPN مبتنی بر Tailscale متصل شوید؛ Gateway طبق طراحی فقط از این طریق قابل دسترسی است.
    • SSH (درگاه 22) همیشه مجاز است.
    سرویس راه‌اندازی نمی‌شود
    bash
    # بررسی گزارش‌هاsudo journalctl -u openclaw -n 100 # تأیید مجوزهاsudo ls -la /opt/openclaw # آزمایش راه‌اندازی دستیsudo -i -u openclawcd ~/openclawopenclaw gateway run
    مشکلات sandbox در Docker
    bash
    # بررسی اجرای Dockersudo systemctl status docker # بررسی تصویر sandboxsudo docker images | grep openclaw-sandbox # ساخت تصویر sandbox در صورت نبودن آن (به یک نسخهٔ وارسی‌شده از کد منبع نیاز دارد)cd /opt/openclaw/openclawsudo -u openclaw ./scripts/sandbox-setup.sh# برای نصب‌های npm بدون نسخهٔ وارسی‌شده از کد منبع، مراجعه کنید به# https://docs.openclaw.ai/gateway/sandboxing#images-and-setup
    ورود به کانال ناموفق است

    مطمئن شوید که به‌عنوان کاربر openclaw اجرا می‌کنید:

    bash
    sudo -i -u openclawopenclaw channels login --channel <name>

    پیکربندی پیشرفته

    برای معماری امنیتی و عیب‌یابی تفصیلی، به مخزن openclaw-ansible مراجعه کنید:

    مطالب مرتبط

    Was this useful?
    On this page

    On this page