รัน OpenClaw ใน Docker
รัน gateway และ CLI เป็นบริการ Docker Compose โดย build จาก source หรือดึง image ที่ build ไว้แล้วจาก ghcr.io/openclaw/openclaw
คุณต้องมี Git และ Docker ที่รองรับ Compose การ build image ในเครื่องต้องใช้ RAM อย่างน้อย 6 GB หากเครื่องมี RAM น้อยกว่านี้ ให้ใช้ image ที่ build ไว้แล้ว
Clone repository แล้วรัน setup
สคริปต์ setup ใน repository จะเตรียมบริการ Compose ให้ หากต้องการข้ามการ build ในเครื่อง ให้ตั้งค่า OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest ก่อนรันสคริปต์ นอกจากนี้ยังมี mirror บน Docker Hub ในชื่อ openclaw/openclaw
shell git clone https://github.com/openclaw/openclaw.git cd openclaw ./scripts/docker/setup.shเปิดแดชบอร์ด
คำสั่งนี้จะรันคอนเทนเนอร์ CLI หนึ่งครั้งเพื่อใช้คำสั่งแดชบอร์ด ส่วน --no-open จะป้องกันไม่ให้พยายามเปิดเบราว์เซอร์ภายในคอนเทนเนอร์ คำสั่ง CLI อื่น ๆ ก็ทำงานในลักษณะเดียวกัน เช่น docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>"
shell docker compose run --rm openclaw-cli dashboard --no-openเก็บข้อมูลถาวรและกำหนดขนาดเครื่อง
เก็บสถานะของ OpenClaw ซึ่งประกอบด้วย openclaw.json และ workspace ของ agent ไว้ใน named volume หรือ bind mount เพื่อให้ข้อมูลคงอยู่เมื่อ build คอนเทนเนอร์ใหม่หรืออัปเดต หาก build image เอง ให้เตรียม RAM อย่างน้อย 6 GB แต่ถ้าใช้ image ที่ build ไว้แล้วและ cloud models gateway จะทำงานได้ด้วย RAM 1 GB ภายในคอนเทนเนอร์ gateway.bind จะตั้งค่าเป็น 0.0.0.0 โดยอัตโนมัติ ดังนั้นให้เปิดใช้ token auth ไว้
อัปเดตคอนเทนเนอร์
ดึง image ใหม่สำหรับทั้ง gateway และบริการ CLI แล้วสร้าง gateway ใหม่เท่านั้น config และ workspace ของคุณยังคงอยู่ใน volume
shell docker compose pull openclaw-gateway openclaw-cli docker compose up -d openclaw-gateway
เนื่องจาก gateway รับการเชื่อมต่อที่ 0.0.0.0 ภายในคอนเทนเนอร์ การ map พอร์ตในรูปแบบ 18789:18789 จะเผยแพร่พอร์ตนั้นบนทุก interface ของ host ให้ใช้ 127.0.0.1:18789:18789 แทน