Docker เป็น ตัวเลือก ใช้เฉพาะเมื่อคุณต้องการ Gateway แบบคอนเทนเนอร์ หรือต้องการตรวจสอบความถูกต้องของขั้นตอน DockerDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Docker เหมาะกับฉันหรือไม่?
- ใช่: คุณต้องการสภาพแวดล้อม Gateway ที่แยกออกมาและทิ้งได้ หรือต้องการรัน OpenClaw บนโฮสต์ที่ไม่มีการติดตั้งภายในเครื่อง
- ไม่: คุณกำลังรันบนเครื่องของคุณเองและต้องการเพียงรอบการพัฒนาที่เร็วที่สุด ให้ใช้ขั้นตอนการติดตั้งปกติแทน
- หมายเหตุเรื่อง sandboxing: แบ็กเอนด์ sandbox เริ่มต้นใช้ Docker เมื่อเปิดใช้ sandboxing แต่ sandboxing จะปิดไว้โดยค่าเริ่มต้น และ ไม่ ต้องให้ Gateway ทั้งหมดรันใน Docker นอกจากนี้ยังมีแบ็กเอนด์ sandbox แบบ SSH และ OpenShell ดู Sandboxing
ข้อกำหนดเบื้องต้น
- Docker Desktop (หรือ Docker Engine) + Docker Compose v2
- RAM อย่างน้อย 2 GB สำหรับการ build image (
pnpm installอาจถูก OOM-killed บนโฮสต์ 1 GB พร้อมรหัสออก 137) - พื้นที่ดิสก์เพียงพอสำหรับ image และ log
- หากรันบน VPS/โฮสต์สาธารณะ ให้ทบทวน
การเพิ่มความปลอดภัยสำหรับการเปิดให้เข้าถึงผ่านเครือข่าย,
โดยเฉพาะนโยบายไฟร์วอลล์
DOCKER-USERของ Docker
Gateway แบบคอนเทนเนอร์
Build image
main, latest, <version> (เช่น 2026.2.26)ดำเนินการ onboarding ให้เสร็จ
- ถามหา provider API keys
- สร้างโทเค็น Gateway และเขียนลงใน
.env - สร้างไดเรกทอรีคีย์ลับของ auth-profile
- เริ่ม Gateway ผ่าน Docker Compose
openclaw-gateway โดยตรง ส่วน openclaw-cli ใช้สำหรับคำสั่งที่คุณรันหลังจาก
คอนเทนเนอร์ Gateway มีอยู่แล้วเปิด Control UI
http://127.0.0.1:18789/ ในเบราว์เซอร์ของคุณ แล้ววาง shared secret
ที่กำหนดไว้ลงใน Settings โดยค่าเริ่มต้นสคริปต์ตั้งค่าจะเขียนโทเค็นลงใน .env;
หากคุณเปลี่ยน config ของคอนเทนเนอร์เป็นการยืนยันตัวตนด้วยรหัสผ่าน ให้ใช้
รหัสผ่านนั้นแทนต้องการ URL อีกครั้งหรือไม่?ขั้นตอนแบบ Manual
หากคุณต้องการรันแต่ละขั้นตอนเองแทนการใช้สคริปต์ตั้งค่า:docker compose จากราก repo หากคุณเปิดใช้ OPENCLAW_EXTRA_MOUNTS
หรือ OPENCLAW_HOME_VOLUME สคริปต์ตั้งค่าจะเขียน docker-compose.extra.yml;
ให้รวมไฟล์นั้นด้วย -f docker-compose.yml -f docker-compose.extra.ymlopenclaw-cli ใช้ network namespace ร่วมกับ openclaw-gateway
จึงเป็นเครื่องมือหลังเริ่มใช้งาน ก่อน docker compose up -d openclaw-gateway
ให้รัน onboarding และการเขียน config ระหว่างตั้งค่าผ่าน openclaw-gateway ด้วย
--no-deps --entrypoint nodeตัวแปรสภาพแวดล้อม
สคริปต์ตั้งค่ารองรับตัวแปรสภาพแวดล้อมแบบไม่บังคับเหล่านี้:| ตัวแปร | วัตถุประสงค์ |
|---|---|
OPENCLAW_IMAGE | ใช้ image ระยะไกลแทนการ build ในเครื่อง |
OPENCLAW_DOCKER_APT_PACKAGES | ติดตั้งแพ็กเกจ apt เพิ่มเติมระหว่าง build (คั่นด้วยช่องว่าง) |
OPENCLAW_EXTENSIONS | รวมตัวช่วย Plugin ที่ bundled ที่เลือกไว้ในช่วง build |
OPENCLAW_EXTRA_MOUNTS | host bind mounts เพิ่มเติม (คั่นด้วยจุลภาค source:target[:opts]) |
OPENCLAW_HOME_VOLUME | คงข้อมูล /home/node ไว้ใน named Docker volume |
OPENCLAW_SANDBOX | เลือกใช้ sandbox bootstrap (1, true, yes, on) |
OPENCLAW_SKIP_ONBOARDING | ข้ามขั้นตอน onboarding แบบโต้ตอบ (1, true, yes, on) |
OPENCLAW_DOCKER_SOCKET | แทนที่พาธ Docker socket |
OPENCLAW_DISABLE_BONJOUR | ปิดการโฆษณา Bonjour/mDNS (ค่าเริ่มต้นเป็น 1 สำหรับ Docker) |
OPENCLAW_DISABLE_BUNDLED_SOURCE_OVERLAYS | ปิด source bind-mount overlays ของ Plugin ที่ bundled |
OTEL_EXPORTER_OTLP_ENDPOINT | ปลายทาง OTLP/HTTP collector ร่วมสำหรับการส่งออก OpenTelemetry |
OTEL_EXPORTER_OTLP_*_ENDPOINT | ปลายทาง OTLP เฉพาะ signal สำหรับ traces, metrics หรือ logs |
OTEL_EXPORTER_OTLP_PROTOCOL | แทนที่โปรโตคอล OTLP ปัจจุบันรองรับเฉพาะ http/protobuf |
OTEL_SERVICE_NAME | ชื่อ service ที่ใช้สำหรับทรัพยากร OpenTelemetry |
OTEL_SEMCONV_STABILITY_OPT_IN | เลือกใช้แอตทริบิวต์ semantic GenAI ทดลองล่าสุด |
OPENCLAW_OTEL_PRELOADED | ข้ามการเริ่ม OpenTelemetry SDK ตัวที่สองเมื่อมีตัวหนึ่งโหลดไว้ล่วงหน้า |
OPENCLAW_EXTRA_MOUNTS=/path/to/fork/extensions/synology-chat:/app/extensions/synology-chat:ro
ไดเรกทอรี source ที่ mount นั้นจะแทนที่ bundle ที่คอมไพล์แล้วที่ตรงกัน
/app/dist/extensions/synology-chat สำหรับ plugin id เดียวกัน
Observability
การส่งออก OpenTelemetry เป็นการเชื่อมต่อขาออกจากคอนเทนเนอร์ Gateway ไปยัง OTLP collector ของคุณ ไม่จำเป็นต้องมีพอร์ต Docker ที่เผยแพร่ หากคุณ build image ในเครื่องและต้องการให้ exporter ของ OpenTelemetry ที่ bundled พร้อมใช้งานภายใน image ให้รวม runtime dependencies ของมัน:@openclaw/diagnostics-otel อย่างเป็นทางการจาก ClawHub ใน
การติดตั้ง Docker แบบแพ็กเกจก่อนเปิดใช้การส่งออก image ที่ build จาก source เอง
ยังสามารถรวม source ของ Plugin ภายในเครื่องด้วย
OPENCLAW_EXTENSIONS=diagnostics-otel ได้ หากต้องการเปิดใช้การส่งออก ให้ allow และเปิดใช้
Plugin diagnostics-otel ใน config จากนั้นตั้งค่า
diagnostics.otel.enabled=true หรือใช้ตัวอย่าง config ใน การส่งออก OpenTelemetry
ส่วนหัวสำหรับการยืนยันตัวตนของ collector กำหนดค่าผ่าน
diagnostics.otel.headers ไม่ใช่ผ่านตัวแปรสภาพแวดล้อม Docker
metrics ของ Prometheus ใช้พอร์ต Gateway ที่เผยแพร่อยู่แล้ว ติดตั้ง
clawhub:@openclaw/diagnostics-prometheus, เปิดใช้ Plugin
diagnostics-prometheus แล้วจึง scrape:
/metrics สาธารณะแยกต่างหาก หรือพาธ reverse-proxy ที่ไม่ต้องยืนยันตัวตน ดู
metrics ของ Prometheus
Health checks
ปลายทาง probe ของคอนเทนเนอร์ (ไม่ต้องยืนยันตัวตน):HEALTHCHECK ในตัวที่จะ ping /healthz
หากการตรวจสอบยังล้มเหลว Docker จะทำเครื่องหมายคอนเทนเนอร์เป็น unhealthy และ
ระบบ orchestration สามารถรีสตาร์ตหรือแทนที่ได้
สแนปช็อตสุขภาพเชิงลึกที่ยืนยันตัวตนแล้ว:
LAN เทียบกับ loopback
scripts/docker/setup.sh ตั้งค่าเริ่มต้น OPENCLAW_GATEWAY_BIND=lan เพื่อให้การเข้าถึงของโฮสต์ไปยัง
http://127.0.0.1:18789 ทำงานได้กับการเผยแพร่พอร์ตของ Docker
lan(ค่าเริ่มต้น): เบราว์เซอร์ของโฮสต์และ CLI ของโฮสต์สามารถเข้าถึงพอร์ต Gateway ที่เผยแพร่ได้loopback: เฉพาะ process ภายใน network namespace ของคอนเทนเนอร์เท่านั้นที่เข้าถึง Gateway ได้โดยตรง
gateway.bind (lan / loopback / custom /
tailnet / auto) ไม่ใช่ host aliases อย่าง 0.0.0.0 หรือ 127.0.0.1Provider ภายในเครื่องของโฮสต์
เมื่อ OpenClaw รันใน Docker,127.0.0.1 ภายในคอนเทนเนอร์คือคอนเทนเนอร์
เอง ไม่ใช่เครื่องโฮสต์ของคุณ ใช้ host.docker.internal สำหรับ provider AI ที่
รันบนโฮสต์:
| Provider | URL เริ่มต้นของโฮสต์ | URL สำหรับตั้งค่า Docker |
|---|---|---|
| LM Studio | http://127.0.0.1:1234 | http://host.docker.internal:1234 |
| Ollama | http://127.0.0.1:11434 | http://host.docker.internal:11434 |
docker-compose.yml จะ map host.docker.internal ไปยัง
Gateway ของโฮสต์ Docker สำหรับ Linux Docker Engine ส่วน Docker Desktop มี hostname
เดียวกันนี้อยู่แล้วบน macOS และ Windows
บริการของโฮสต์ต้อง listen บน address ที่ Docker เข้าถึงได้ด้วย:
docker run ให้เพิ่ม host
mapping เดียวกันเอง เช่น
--add-host=host.docker.internal:host-gateway
Bonjour / mDNS
โดยปกติ Docker bridge networking จะไม่ forward multicast ของ Bonjour/mDNS (224.0.0.251:5353) ได้อย่างน่าเชื่อถือ ดังนั้นการตั้งค่า Compose ที่ bundled
จึงตั้งค่าเริ่มต้น OPENCLAW_DISABLE_BONJOUR=1 เพื่อไม่ให้ Gateway crash-loop หรือ
รีสตาร์ตการโฆษณาซ้ำ ๆ เมื่อ bridge ทิ้ง traffic multicast
ใช้ URL ของ Gateway ที่เผยแพร่, Tailscale หรือ wide-area DNS-SD สำหรับโฮสต์ Docker
ตั้งค่า OPENCLAW_DISABLE_BONJOUR=0 เฉพาะเมื่อรันด้วย host networking, macvlan
หรือเครือข่ายอื่นที่ทราบว่า mDNS multicast ทำงานได้
สำหรับข้อควรระวังและการแก้ไขปัญหา ดู การค้นพบ Bonjour
พื้นที่จัดเก็บและการคงอยู่ของข้อมูล
Docker Compose จะ bind-mountOPENCLAW_CONFIG_DIR ไปยัง /home/node/.openclaw,
OPENCLAW_WORKSPACE_DIR ไปยัง /home/node/.openclaw/workspace และ
OPENCLAW_AUTH_PROFILE_SECRET_DIR ไปยัง /home/node/.config/openclaw เพื่อให้พาธเหล่านั้น
คงอยู่หลังการแทนที่คอนเทนเนอร์ เมื่อไม่ได้ตั้งค่าตัวแปรใด ๆ docker-compose.yml
ที่ bundled จะ fallback ไปใต้ ${HOME} หรือ /tmp เมื่อ HOME เองก็หายไปด้วย
ซึ่งช่วยป้องกันไม่ให้ docker compose up ปล่อย volume spec ที่มี source ว่าง
บนสภาพแวดล้อมเปล่า
ไดเรกทอรี config ที่ mount นั้นคือที่ที่ OpenClaw เก็บ:
openclaw.jsonสำหรับ config พฤติกรรมagents/<agentId>/agent/auth-profiles.jsonสำหรับ auth ของ provider OAuth/API-key ที่จัดเก็บไว้.envสำหรับความลับ runtime ที่หนุนด้วย env เช่นOPENCLAW_GATEWAY_TOKEN
OPENCLAW_CONFIG_DIR
Plugin ที่ดาวน์โหลดมาติดตั้งจะเก็บสถานะแพ็กเกจไว้ใต้ OpenClaw home ที่เมานต์ไว้ ดังนั้นระเบียนการติดตั้ง Plugin และรากแพ็กเกจจึงคงอยู่รอดจากการเปลี่ยนคอนเทนเนอร์ การเริ่มต้น Gateway จะไม่สร้างแผนผัง dependency ของ Plugin ที่บันเดิลมา
สำหรับรายละเอียดการคงอยู่แบบเต็มในการปรับใช้ VM ดู
Docker VM Runtime - สิ่งใดคงอยู่ที่ใด
จุดที่ดิสก์เติบโตเร็ว: เฝ้าดู media/, ไฟล์ JSONL ของเซสชัน,
cron/runs/*.jsonl, รากแพ็กเกจของ Plugin ที่ติดตั้งแล้ว และ rolling file logs
ใต้ /tmp/openclaw/
ตัวช่วย Shell (ไม่บังคับ)
เพื่อให้จัดการ Docker ในแต่ละวันได้ง่ายขึ้น ให้ติดตั้งClawDock:
scripts/shell-helpers/clawdock-helpers.sh ให้รันคำสั่งติดตั้งด้านบนอีกครั้ง เพื่อให้ไฟล์ตัวช่วยในเครื่องของคุณติดตามตำแหน่งใหม่
จากนั้นใช้ clawdock-start, clawdock-stop, clawdock-dashboard ฯลฯ รัน
clawdock-help เพื่อดูคำสั่งทั้งหมด
ดู ClawDock สำหรับคู่มือตัวช่วยฉบับเต็ม
เปิดใช้งาน sandbox ของ agent สำหรับ Docker gateway
เปิดใช้งาน sandbox ของ agent สำหรับ Docker gateway
docker.sock หลังจากข้อกำหนดเบื้องต้นของ sandbox ผ่านแล้วเท่านั้น หาก
การตั้งค่า sandbox ทำให้เสร็จสมบูรณ์ไม่ได้ สคริปต์จะรีเซ็ต agents.defaults.sandbox.mode
เป็น off เทิร์นโหมดโค้ดของ Codex ยังถูกจำกัดให้อยู่ใน Codex
workspace-write ขณะที่ sandbox ของ OpenClaw ทำงานอยู่; อย่าเมานต์
socket ของ Docker บนโฮสต์เข้าไปในคอนเทนเนอร์ sandbox ของ agentAutomation / CI (ไม่โต้ตอบ)
Automation / CI (ไม่โต้ตอบ)
-T:หมายเหตุความปลอดภัยของเครือข่ายที่ใช้ร่วมกัน
หมายเหตุความปลอดภัยของเครือข่ายที่ใช้ร่วมกัน
openclaw-cli ใช้ network_mode: "service:openclaw-gateway" เพื่อให้คำสั่ง CLI
ติดต่อ gateway ผ่าน 127.0.0.1 ได้ ให้ถือว่านี่เป็นขอบเขตความไว้วางใจที่ใช้ร่วมกัน
คอนฟิก compose ตัด NET_RAW/NET_ADMIN และเปิดใช้
no-new-privileges ทั้งบน openclaw-gateway และ openclaw-cliความล้มเหลว DNS ของ Docker Desktop ใน openclaw-cli
ความล้มเหลว DNS ของ Docker Desktop ใน openclaw-cli
openclaw-cli บนเครือข่ายที่ใช้ร่วมกันล้มเหลวหลังจากตัด NET_RAW ออก ซึ่งจะแสดงเป็น
EAI_AGAIN ระหว่างคำสั่งที่พึ่งพา npm เช่น openclaw plugins install
ให้ใช้ไฟล์ compose ที่เสริมความแข็งแรงเป็นค่าเริ่มต้นสำหรับการทำงาน Gateway ปกติ
override ในเครื่องด้านล่างจะผ่อนท่าทีด้านความปลอดภัยของคอนเทนเนอร์ CLI โดย
คืนค่าความสามารถเริ่มต้นของ Docker ดังนั้นให้ใช้เฉพาะกับคำสั่ง CLI ครั้งเดียว
ที่ต้องเข้าถึง package registry เท่านั้น ไม่ใช่เป็นการเรียก Compose ค่าเริ่มต้นของคุณ:openclaw-cli ที่ทำงานระยะยาวไว้แล้ว ให้สร้างใหม่
ด้วย override เดียวกัน docker compose exec และ docker exec ไม่สามารถ
เปลี่ยน Linux capabilities บนคอนเทนเนอร์ที่สร้างไว้แล้วได้สิทธิ์และ EACCES
สิทธิ์และ EACCES
node (uid 1000) หากคุณเห็นข้อผิดพลาดด้านสิทธิ์บน
/home/node/.openclaw ตรวจสอบให้แน่ใจว่า bind mount บนโฮสต์ของคุณเป็นของ uid 1000:blocked plugin candidate: suspicious ownership (... uid=1000, expected uid=0 or root)
ตามด้วย plugin present but blocked นั่นหมายความว่า uid ของ process และเจ้าของ
ไดเรกทอรี Plugin ที่เมานต์ไว้ไม่ตรงกัน ควรรันคอนเทนเนอร์ด้วย uid เริ่มต้น 1000
และแก้ ownership ของ bind mount จะดีกว่า ให้ chown
/path/to/openclaw-config/npm เป็น root:root เฉพาะเมื่อคุณตั้งใจรัน
OpenClaw เป็น root ในระยะยาวเท่านั้นการ rebuild ที่เร็วขึ้น
การ rebuild ที่เร็วขึ้น
pnpm install ซ้ำ เว้นแต่ lockfile จะเปลี่ยน:ตัวเลือกคอนเทนเนอร์สำหรับผู้ใช้ขั้นสูง
ตัวเลือกคอนเทนเนอร์สำหรับผู้ใช้ขั้นสูง
node ที่ไม่ใช่ root สำหรับคอนเทนเนอร์
ที่มีฟีเจอร์ครบขึ้น:- คงอยู่
/home/node:export OPENCLAW_HOME_VOLUME="openclaw_home" - ฝัง system deps:
export OPENCLAW_DOCKER_APT_PACKAGES="git curl jq" - ฝัง Playwright Chromium:
export OPENCLAW_INSTALL_BROWSER=1 - หรือ ติดตั้งเบราว์เซอร์ Playwright ลงใน volume ที่คงอยู่:
- คงอยู่ browser downloads: ใช้
OPENCLAW_HOME_VOLUMEหรือOPENCLAW_EXTRA_MOUNTSOpenClaw ตรวจพบ Chromium ที่จัดการโดย Playwright ของ Docker image บน Linux โดยอัตโนมัติ
OpenAI Codex OAuth (Docker แบบ headless)
OpenAI Codex OAuth (Docker แบบ headless)
เมทาดาทา base image
เมทาดาทา base image
node:24-bookworm-slim และรวม tini เป็น process init ของ entrypoint (PID 1) เพื่อให้แน่ใจว่า zombie process ถูกเก็บกวาดและสัญญาณถูกจัดการอย่างถูกต้องในคอนเทนเนอร์ที่ทำงานระยะยาว image นี้เผยแพร่ annotation ของ OCI base-image รวมถึง org.opencontainers.image.base.name,
org.opencontainers.image.source และรายการอื่น ๆ digest ฐานของ Node จะถูก
รีเฟรชผ่าน PR ของ Dependabot สำหรับ Docker base-image; release build ไม่รัน
เลเยอร์อัปเกรด distro ดู
OCI image annotationsกำลังรันบน VPS ใช่ไหม?
ดู Hetzner (Docker VPS) และ Docker VM Runtime สำหรับขั้นตอนการปรับใช้ VM ร่วมกัน รวมถึงการฝังไบนารี การคงอยู่ และการอัปเดตAgent sandbox
เมื่อเปิดใช้งานagents.defaults.sandbox ด้วย backend ของ Docker, gateway
จะรันการดำเนินการเครื่องมือของ agent (shell, การอ่าน/เขียนไฟล์ ฯลฯ) ภายในคอนเทนเนอร์ Docker
ที่แยกอยู่ ขณะที่ gateway เองยังอยู่บนโฮสต์ วิธีนี้ให้กำแพงแข็งแรง
รอบเซสชัน agent ที่ไม่ไว้วางใจหรือมีผู้เช่าหลายราย โดยไม่ต้องทำให้ gateway ทั้งหมด
เป็นคอนเทนเนอร์
ขอบเขต sandbox สามารถเป็นต่อ agent (ค่าเริ่มต้น), ต่อเซสชัน หรือใช้ร่วมกัน แต่ละขอบเขต
จะมี workspace ของตัวเองเมานต์ที่ /workspace คุณยังสามารถกำหนดค่า
นโยบาย allow/deny ของเครื่องมือ การแยกเครือข่าย ขีดจำกัดทรัพยากร และคอนเทนเนอร์เบราว์เซอร์ได้
สำหรับคอนฟิกทั้งหมด images, หมายเหตุความปลอดภัย และโปรไฟล์ multi-agent ดู:
- Sandboxing — เอกสารอ้างอิง sandbox ฉบับสมบูรณ์
- OpenShell — การเข้าถึง shell แบบโต้ตอบไปยังคอนเทนเนอร์ sandbox
- Multi-Agent Sandbox and Tools — override ต่อ agent
เปิดใช้งานแบบเร็ว
docker build แบบ inline
การแก้ไขปัญหา
ไม่มี image หรือคอนเทนเนอร์ sandbox ไม่เริ่มทำงาน
ไม่มี image หรือคอนเทนเนอร์ sandbox ไม่เริ่มทำงาน
scripts/sandbox-setup.sh
(source checkout) หรือคำสั่ง docker build แบบ inline จาก Sandboxing § Images and setup (ติดตั้ง npm),
หรือกำหนด agents.defaults.sandbox.docker.image เป็น image แบบกำหนดเองของคุณ
คอนเทนเนอร์จะถูกสร้างอัตโนมัติต่อเซสชันเมื่อต้องการข้อผิดพลาดสิทธิ์ใน sandbox
ข้อผิดพลาดสิทธิ์ใน sandbox
docker.user เป็น UID:GID ที่ตรงกับ ownership ของ workspace ที่เมานต์ไว้ของคุณ
หรือ chown โฟลเดอร์ workspaceไม่พบเครื่องมือแบบกำหนดเองใน sandbox
ไม่พบเครื่องมือแบบกำหนดเองใน sandbox
sh -lc (login shell) ซึ่งจะ source
/etc/profile และอาจรีเซ็ต PATH ตั้งค่า docker.env.PATH เพื่อเติมพาธ
เครื่องมือแบบกำหนดเองของคุณไว้ด้านหน้า หรือเพิ่มสคริปต์ใต้ /etc/profile.d/ ใน Dockerfile ของคุณถูก OOM-killed ระหว่าง build image (exit 137)
ถูก OOM-killed ระหว่าง build image (exit 137)
Unauthorized หรือต้อง pairing ใน Control UI
Unauthorized หรือต้อง pairing ใน Control UI
เป้าหมาย Gateway แสดง ws://172.x.x.x หรือข้อผิดพลาด pairing จาก Docker CLI
เป้าหมาย Gateway แสดง ws://172.x.x.x หรือข้อผิดพลาด pairing จาก Docker CLI
ที่เกี่ยวข้อง
- ภาพรวมการติดตั้ง — วิธีติดตั้งทั้งหมด
- Podman — ทางเลือก Podman แทน Docker
- ClawDock — การตั้งค่า Docker Compose ของชุมชน
- การอัปเดต — การทำให้ OpenClaw ทันสมัยอยู่เสมอ
- Configuration — คอนฟิก gateway หลังการติดตั้ง