Containers
Ansible
ปรับใช้ OpenClaw บนเซิร์ฟเวอร์ที่ใช้งานจริงด้วย openclaw-ansible ซึ่งเป็นโปรแกรมติดตั้งอัตโนมัติที่ใช้สถาปัตยกรรมซึ่งให้ความสำคัญกับความปลอดภัยเป็นอันดับแรก
ข้อกำหนดเบื้องต้น
| ข้อกำหนด | รายละเอียด |
|---|---|
| ระบบปฏิบัติการ | Debian 11+ หรือ Ubuntu 20.04+ |
| สิทธิ์การเข้าถึง | สิทธิ์ root หรือ sudo |
| เครือข่าย | การเชื่อมต่ออินเทอร์เน็ตสำหรับติดตั้งแพ็กเกจ |
| Ansible | 2.14+ (สคริปต์เริ่มต้นอย่างรวดเร็วจะติดตั้งให้โดยอัตโนมัติ) |
สิ่งที่คุณจะได้รับ
- การรักษาความปลอดภัยที่ให้ไฟร์วอลล์เป็นด่านแรก: UFW + การแยก Docker (เข้าถึงได้เฉพาะ SSH + Tailscale)
- VPN ของ Tailscale สำหรับการเข้าถึงจากระยะไกลโดยไม่เปิดเผยบริการต่อสาธารณะ
- Docker สำหรับคอนเทนเนอร์แซนด์บ็อกซ์แบบแยกส่วนที่ผูกอยู่กับ localhost เท่านั้น
- การผสานรวมกับ systemd พร้อมการเพิ่มความแข็งแกร่งด้านความปลอดภัยและการเริ่มต้นอัตโนมัติเมื่อบูต
- การตั้งค่าด้วยคำสั่งเดียว
เริ่มต้นอย่างรวดเร็ว
curl -fsSL https://raw.githubusercontent.com/openclaw/openclaw-ansible/main/install.sh | bashสิ่งที่จะได้รับการติดตั้ง
- Tailscale (VPN แบบเมชสำหรับการเข้าถึงจากระยะไกลอย่างปลอดภัย)
- ไฟร์วอลล์ UFW (เฉพาะพอร์ต SSH + Tailscale)
- Docker CE + Compose V2 (แบ็กเอนด์แซนด์บ็อกซ์เริ่มต้นของเอเจนต์)
- Node.js และ pnpm (OpenClaw ต้องใช้ Node 22.19+ หรือ 23.11+; แนะนำ 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
เข้าร่วมเมช 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 ได้ผ่านเมช 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 และสามารถเรียกใช้ซ้ำได้อย่างปลอดภัย
การแก้ไขปัญหา
ไฟร์วอลล์บล็อกการเชื่อมต่อของฉัน
- เชื่อมต่อผ่าน VPN ของ Tailscale ก่อน เนื่องจาก 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 แบบคอนเทนเนอร์
- การใช้แซนด์บ็อกซ์: การกำหนดค่าแซนด์บ็อกซ์ของเอเจนต์
- แซนด์บ็อกซ์และเครื่องมือแบบหลายเอเจนต์: การแยกส่วนสำหรับแต่ละเอเจนต์