Containers

Ansible

ปรับใช้ OpenClaw บนเซิร์ฟเวอร์ที่ใช้งานจริงด้วย openclaw-ansible ซึ่งเป็นตัวติดตั้งอัตโนมัติที่ใช้สถาปัตยกรรมซึ่งให้ความสำคัญกับความปลอดภัยเป็นอันดับแรก

ข้อกำหนดเบื้องต้น

ข้อกำหนด รายละเอียด
ระบบปฏิบัติการ Debian 11+ หรือ Ubuntu 20.04+
สิทธิ์เข้าถึง สิทธิ์ root หรือ sudo
เครือข่าย การเชื่อมต่ออินเทอร์เน็ตสำหรับติดตั้งแพ็กเกจ
Ansible 2.14+ (ติดตั้งโดยอัตโนมัติด้วยสคริปต์เริ่มต้นอย่างรวดเร็ว)

สิ่งที่จะได้รับ

  • ความปลอดภัยที่เริ่มต้นจากไฟร์วอลล์: UFW + การแยก Docker (เข้าถึงได้เฉพาะ SSH + Tailscale)
  • Tailscale VPN สำหรับการเข้าถึงจากระยะไกลโดยไม่เปิดเผยบริการต่อสาธารณะ
  • Docker สำหรับคอนเทนเนอร์แซนด์บ็อกซ์ที่แยกจากกัน โดยผูกการเชื่อมต่อไว้เฉพาะกับ localhost
  • การผสานรวมกับ systemd พร้อมการเพิ่มความปลอดภัยและเริ่มทำงานอัตโนมัติเมื่อบูต
  • ตั้งค่าได้ด้วยคำสั่งเดียว

เริ่มต้นอย่างรวดเร็ว

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

สิ่งที่ได้รับการติดตั้ง

  1. Tailscale (mesh VPN สำหรับการเข้าถึงจากระยะไกลอย่างปลอดภัย)
  2. ไฟร์วอลล์ UFW (เฉพาะพอร์ต SSH + Tailscale)
  3. Docker CE + Compose V2 (แบ็กเอนด์แซนด์บ็อกซ์เริ่มต้นของเอเจนต์)
  4. Node.js และ pnpm (OpenClaw ต้องใช้ Node 22.22.3+, 24.15+ หรือ 25.9+; แนะนำให้ใช้ 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

    เข้าร่วม mesh VPN เพื่อการเข้าถึงจากระยะไกลอย่างปลอดภัย

  • คำสั่งด่วน

    bash
    # ตรวจสอบสถานะบริการsudo systemctl status openclaw # ดูบันทึกแบบเรียลไทม์sudo journalctl -u openclaw -f # เริ่ม Gateway ใหม่sudo systemctl restart openclaw # เข้าสู่ระบบช่องทาง (เรียกใช้ในฐานะผู้ใช้ openclaw)sudo -i -u openclawopenclaw channels login --channel <name>

    สถาปัตยกรรมความปลอดภัย

    โมเดลการป้องกันสี่ชั้น:

    1. ไฟร์วอลล์ (UFW): เปิดเผยต่อสาธารณะเฉพาะ SSH (22) และ Tailscale (41641/udp)
    2. VPN (Tailscale): เข้าถึง Gateway ได้เฉพาะผ่าน mesh VPN
    3. การแยกด้วย Docker: เชน iptables DOCKER-USER ป้องกันไม่ให้พอร์ตถูกเปิดเผยต่อภายนอก
    4. การเพิ่มความปลอดภัยของ systemd: NoNewPrivileges, PrivateTmp, ผู้ใช้ที่ไม่มีสิทธิ์พิเศษ

    ตรวจสอบพื้นผิวการโจมตีจากภายนอก:

    bash
    nmap -p- YOUR_SERVER_IP

    ควรเปิดเฉพาะพอร์ต 22 (SSH) เท่านั้น Gateway และ Docker จะยังคงถูกปิดกั้นอย่างปลอดภัย

    Docker ได้รับการติดตั้งเพื่อใช้กับแซนด์บ็อกซ์ของเอเจนต์ (การเรียกใช้เครื่องมือแบบแยกจากกัน) ไม่ได้ใช้เพื่อเรียกใช้ Gateway ดูการกำหนดค่าแซนด์บ็อกซ์ได้ที่ แซนด์บ็อกซ์และเครื่องมือแบบหลายเอเจนต์

    การติดตั้งด้วยตนเอง

  • ติดตั้งข้อกำหนดเบื้องต้น

    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

    กระบวนการนี้มีคุณสมบัติ idempotent และสามารถเรียกใช้ซ้ำได้อย่างปลอดภัย

    การแก้ไขปัญหา

    ไฟร์วอลล์ปิดกั้นการเชื่อมต่อ
    • เชื่อมต่อผ่าน Tailscale VPN ก่อน; Gateway ได้รับการออกแบบให้เข้าถึงได้ด้วยวิธีนี้เท่านั้น
    • อนุญาต SSH (พอร์ต 22) เสมอ
    บริการไม่เริ่มทำงาน
    bash
    # ตรวจสอบบันทึกsudo journalctl -u openclaw -n 100 # ตรวจสอบสิทธิ์sudo ls -la /opt/openclaw # ทดสอบการเริ่มทำงานด้วยตนเองsudo -i -u openclawcd ~/openclawopenclaw gateway run
    ปัญหาเกี่ยวกับแซนด์บ็อกซ์ Docker
    bash
    # ตรวจสอบว่า Docker กำลังทำงานsudo systemctl status docker # ตรวจสอบอิมเมจแซนด์บ็อกซ์sudo docker images | grep openclaw-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