Containers
Ansible
ปรับใช้ OpenClaw บนเซิร์ฟเวอร์ที่ใช้งานจริงด้วย openclaw-ansible ซึ่งเป็นตัวติดตั้งอัตโนมัติที่ใช้สถาปัตยกรรมซึ่งให้ความสำคัญกับความปลอดภัยเป็นอันดับแรก
ข้อกำหนดเบื้องต้น
| ข้อกำหนด | รายละเอียด |
|---|---|
| ระบบปฏิบัติการ | Debian 11+ หรือ Ubuntu 20.04+ |
| สิทธิ์เข้าถึง | สิทธิ์ root หรือ sudo |
| เครือข่าย | การเชื่อมต่ออินเทอร์เน็ตสำหรับติดตั้งแพ็กเกจ |
| Ansible | 2.14+ (ติดตั้งโดยอัตโนมัติด้วยสคริปต์เริ่มต้นอย่างรวดเร็ว) |
สิ่งที่จะได้รับ
- ความปลอดภัยที่เริ่มต้นจากไฟร์วอลล์: UFW + การแยก Docker (เข้าถึงได้เฉพาะ SSH + Tailscale)
- Tailscale VPN สำหรับการเข้าถึงจากระยะไกลโดยไม่เปิดเผยบริการต่อสาธารณะ
- Docker สำหรับคอนเทนเนอร์แซนด์บ็อกซ์ที่แยกจากกัน โดยผูกการเชื่อมต่อไว้เฉพาะกับ localhost
- การผสานรวมกับ systemd พร้อมการเพิ่มความปลอดภัยและเริ่มทำงานอัตโนมัติเมื่อบูต
- ตั้งค่าได้ด้วยคำสั่งเดียว
เริ่มต้นอย่างรวดเร็ว
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bashสิ่งที่ได้รับการติดตั้ง
- Tailscale (mesh VPN สำหรับการเข้าถึงจากระยะไกลอย่างปลอดภัย)
- ไฟร์วอลล์ UFW (เฉพาะพอร์ต SSH + Tailscale)
- Docker CE + Compose V2 (แบ็กเอนด์แซนด์บ็อกซ์เริ่มต้นของเอเจนต์)
- Node.js และ pnpm (OpenClaw ต้องใช้ Node 22.22.3+, 24.15+ หรือ 25.9+; แนะนำให้ใช้ Node 24)
- OpenClaw ซึ่งติดตั้งโดยตรงบนโฮสต์ ไม่ได้ทำงานในคอนเทนเนอร์
- บริการ systemd พร้อมการเพิ่มความปลอดภัย
การตั้งค่าหลังติดตั้ง
สลับไปยังผู้ใช้ openclaw
sudo -i -u openclawเรียกใช้ตัวช่วยการเริ่มต้นใช้งาน
สคริปต์หลังติดตั้งจะแนะนำขั้นตอนการกำหนดค่า OpenClaw
เชื่อมต่อช่องทางการรับส่งข้อความ
เข้าสู่ระบบ WhatsApp, Telegram, Discord หรือ Signal:
openclaw channels login --channel <name>ตรวจสอบการติดตั้ง
sudo systemctl status openclawsudo journalctl -u openclaw -fเชื่อมต่อกับ Tailscale
เข้าร่วม mesh VPN เพื่อการเข้าถึงจากระยะไกลอย่างปลอดภัย
คำสั่งด่วน
# ตรวจสอบสถานะบริการsudo systemctl status openclaw # ดูบันทึกแบบเรียลไทม์sudo journalctl -u openclaw -f # เริ่ม Gateway ใหม่sudo systemctl restart openclaw # เข้าสู่ระบบช่องทาง (เรียกใช้ในฐานะผู้ใช้ openclaw)sudo -i -u openclawopenclaw channels login --channel <name>สถาปัตยกรรมความปลอดภัย
โมเดลการป้องกันสี่ชั้น:
- ไฟร์วอลล์ (UFW): เปิดเผยต่อสาธารณะเฉพาะ SSH (22) และ Tailscale (41641/udp)
- VPN (Tailscale): เข้าถึง Gateway ได้เฉพาะผ่าน mesh VPN
- การแยกด้วย Docker: เชน iptables
DOCKER-USERป้องกันไม่ให้พอร์ตถูกเปิดเผยต่อภายนอก - การเพิ่มความปลอดภัยของ 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.gitcd openclaw-ansibleติดตั้งคอลเลกชัน Ansible
ansible-galaxy collection install -r requirements.ymlเรียกใช้ playbook
./run-playbook.shหรือเรียกใช้ playbook โดยตรง แล้วเรียกใช้สคริปต์ตั้งค่าด้วยตนเอง:
ansible-playbook playbook.yml --ask-become-pass# จากนั้นเรียกใช้: /tmp/openclaw-setup.shการอัปเดต
ตัวติดตั้ง Ansible ตั้งค่า OpenClaw สำหรับการอัปเดตด้วยตนเอง ดูขั้นตอนมาตรฐานได้ที่ การอัปเดต
หากต้องการเรียกใช้ playbook อีกครั้ง (เช่น หลังจากเปลี่ยนแปลงการกำหนดค่า):
cd openclaw-ansible./run-playbook.shกระบวนการนี้มีคุณสมบัติ idempotent และสามารถเรียกใช้ซ้ำได้อย่างปลอดภัย
การแก้ไขปัญหา
ไฟร์วอลล์ปิดกั้นการเชื่อมต่อ
- เชื่อมต่อผ่าน Tailscale VPN ก่อน; Gateway ได้รับการออกแบบให้เข้าถึงได้ด้วยวิธีนี้เท่านั้น
- อนุญาต SSH (พอร์ต 22) เสมอ
บริการไม่เริ่มทำงาน
# ตรวจสอบบันทึกsudo journalctl -u openclaw -n 100 # ตรวจสอบสิทธิ์sudo ls -la /opt/openclaw # ทดสอบการเริ่มทำงานด้วยตนเองsudo -i -u openclawcd ~/openclawopenclaw gateway runปัญหาเกี่ยวกับแซนด์บ็อกซ์ Docker
# ตรวจสอบว่า 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:
sudo -i -u openclawopenclaw channels login --channel <name>การกำหนดค่าขั้นสูง
ดูรายละเอียดเกี่ยวกับสถาปัตยกรรมความปลอดภัยและการแก้ไขปัญหาได้ในรีโพ openclaw-ansible:
เนื้อหาที่เกี่ยวข้อง
- openclaw-ansible: คู่มือการปรับใช้ฉบับสมบูรณ์
- Docker: การตั้งค่า Gateway แบบคอนเทนเนอร์
- การใช้แซนด์บ็อกซ์: การกำหนดค่าแซนด์บ็อกซ์ของเอเจนต์
- แซนด์บ็อกซ์และเครื่องมือแบบหลายเอเจนต์: การแยกสำหรับแต่ละเอเจนต์