Containers

Ansible

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

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

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

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

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

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

ติดตั้งด้วยคำสั่งเดียว:

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

สิ่งที่จะถูกติดตั้ง

Ansible playbook จะติดตั้งและกำหนดค่า:

  1. Tailscale -- mesh VPN สำหรับการเข้าถึงระยะไกลอย่างปลอดภัย
  2. UFW firewall -- เฉพาะพอร์ต SSH + Tailscale เท่านั้น
  3. Docker CE + Compose V2 -- สำหรับแบ็กเอนด์ sandbox ของ agent เริ่มต้น
  4. Node.js 24 + pnpm -- dependency สำหรับ runtime (Node 22 LTS, ปัจจุบันคือ 22.14+, ยังคงรองรับอยู่)
  5. OpenClaw -- ทำงานบนโฮสต์ ไม่ได้อยู่ในคอนเทนเนอร์
  6. บริการ Systemd -- เริ่มอัตโนมัติพร้อม security hardening

การตั้งค่าหลังติดตั้ง

  • สลับไปเป็นผู้ใช้ openclaw

    sudo -i -u openclaw
    
  • เรียกใช้ตัวช่วย onboarding

    สคริปต์หลังติดตั้งจะแนะนำคุณตลอดการกำหนดค่าการตั้งค่า OpenClaw

  • เชื่อมต่อผู้ให้บริการข้อความ

    เข้าสู่ระบบ WhatsApp, Telegram, Discord หรือ Signal:

    openclaw channels login
    
  • ตรวจสอบการติดตั้ง

    sudo systemctl status openclaw
    sudo journalctl -u openclaw -f
    
  • เชื่อมต่อกับ Tailscale

    เข้าร่วม mesh 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. Firewall (UFW) -- เปิดเผยสู่สาธารณะเฉพาะ SSH (22) + Tailscale (41641/udp)
    2. VPN (Tailscale) -- Gateway เข้าถึงได้ผ่าน mesh VPN เท่านั้น
    3. การแยกด้วย Docker -- เชน DOCKER-USER iptables ป้องกันการเปิดเผยพอร์ตภายนอก
    4. Systemd hardening -- NoNewPrivileges, PrivateTmp, ผู้ใช้ที่ไม่มีสิทธิ์พิเศษ

    เพื่อตรวจสอบพื้นผิวการโจมตีจากภายนอกของคุณ:

    nmap -p- YOUR_SERVER_IP
    

    ควรเปิดอยู่เฉพาะพอร์ต 22 (SSH) เท่านั้น บริการอื่นทั้งหมด (Gateway, Docker) จะถูกล็อกไว้

    Docker ถูกติดตั้งสำหรับ sandbox ของ agent (การรันเครื่องมือแบบแยกส่วน) ไม่ใช่สำหรับเรียกใช้ Gateway เอง ดูการกำหนดค่า sandbox ได้ที่ Multi-Agent Sandbox and Tools

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

    หากคุณต้องการควบคุมด้วยตนเองแทนระบบอัตโนมัติ:

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

    sudo apt update && sudo apt install -y ansible git
    
  • โคลนที่เก็บโค้ด

    git clone https://github.com/openclaw/openclaw-ansible.git
    cd openclaw-ansible
    
  • ติดตั้ง Ansible collections

    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 สำหรับการอัปเดตด้วยตนเอง ดูขั้นตอนการอัปเดตมาตรฐานได้ที่ Updating

    หากต้องการเรียกใช้ Ansible playbook อีกครั้ง (เช่น เพื่อเปลี่ยนการกำหนดค่า):

    cd openclaw-ansible
    ./run-playbook.sh
    

    คำสั่งนี้เป็นแบบ idempotent และสามารถรันได้หลายครั้งอย่างปลอดภัย

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

    Firewall บล็อกการเชื่อมต่อของฉัน
    • ตรวจสอบให้แน่ใจว่าคุณเข้าถึงผ่าน 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 sandbox
    # 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:

    ที่เกี่ยวข้อง

    • openclaw-ansible -- คู่มือการปรับใช้ฉบับเต็ม
    • Docker -- การตั้งค่า Gateway แบบคอนเทนเนอร์
    • Sandboxing -- การกำหนดค่า sandbox ของ agent
    • Multi-Agent Sandbox and Tools -- การแยกแต่ละ agent ออกจากกัน