Docker 是自架 OpenClaw 最常見的方式。它提供隔離的環境、方便的更新,以及在不同伺服器上一致的運行表現。以下是設定方法。
前置需求
- 一台伺服器或 VPS,至少 2 vCPU 與 4GB 以上 RAM
- 已安裝 Docker 與 Docker Compose
- 一組 AI 服務供應商的 API 金鑰(Anthropic、OpenAI 或 Google)
第一步:建立 Docker Compose 設定檔
建立一個 docker-compose.yml:
version: '3.8'
services:
openclaw:
image: openclaw/openclaw:latest
container_name: openclaw
restart: unless-stopped
ports:
- "3001:3001"
volumes:
- openclaw_data:/app/data
environment:
- ANTHROPIC_API_KEY=sk-ant-your-key-here
- OPENCLAW_GATEWAY_TOKEN=your-secure-token
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3001/health"]
interval: 30s
timeout: 10s
retries: 3
volumes:
openclaw_data:
重要: 務必明確設定 OPENCLAW_GATEWAY_TOKEN。如果不設定,OpenClaw 每次重啟都會重新產生 Token,導致 Gateway 連線中斷。
第二步:啟動容器
docker compose up -d
觀察日誌,直到看到 [gateway] listening on:
docker compose logs -f openclaw
Gateway 大約需要 40 秒才能完全啟動。不用擔心較早出現的訊息,例如 [entrypoint] Starting OpenClaw gateway——那不是就緒訊號。
第三步:執行設定精靈
連入容器並執行初始設定:
docker exec -it openclaw openclaw onboard
這會引導你完成以下設定:
- AI 模型選擇
- API 金鑰驗證
- 頻道設定(Telegram、WhatsApp 等)
第四步:連接 Telegram
- 在 Telegram 上透過 @BotFather 建立一個 Bot
- 設定 Token:
docker exec -it openclaw openclaw config set telegram.token "YOUR_BOT_TOKEN"
- 重啟以套用設定:
docker compose restart openclaw
- 在 Telegram 上傳送訊息給你的 Bot
- 核准日誌中出現的配對碼:
docker exec -it openclaw openclaw pairing approve telegram CODE
第五步:設定反向代理(非必要但建議)
若要啟用 HTTPS,可以使用 Caddy:
your-domain.com {
reverse_proxy localhost:3001
}
然後重新載入 Caddy:
caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile
提示: 如果使用 Caddy 作為反向代理,請加入信任的代理設定:
docker exec -it openclaw openclaw config set gateway.trustedProxies '["127.0.0.1"]'
常見 Docker 問題
容器不斷重啟
檢查日誌,確認是否有埠號衝突或缺少環境變數:
docker compose logs --tail 50 openclaw
權限被拒錯誤
修復容器內的檔案所有權:
docker exec -it openclaw chown -R node:node /app
docker compose restart openclaw
Gateway Token 在重啟後改變
你忘記設定 OPENCLAW_GATEWAY_TOKEN 了。在 docker-compose.yml 中加入這個設定並重啟。
無法從瀏覽器連線
確認埠號 3001 已開放且未被防火牆擋住:
ufw allow 3001
在 Docker 中更新 OpenClaw
docker compose pull
docker compose up -d
你的資料儲存在 openclaw_data 磁碟區中,所以更新是安全的。
或者直接跳過 Docker
以上所有步驟需要 30-60 分鐘,而且假設你熟悉 Docker、SSH 和 Linux 管理。
ClawTank 幫你在不到 1 分鐘內完成這一切:
- 選擇你的 AI 模型
- 貼上你的 Telegram Bot Token
- 使用 Google 登入
不需要 Docker,不需要 SSH,不需要 docker-compose.yml,不需要反向代理設定。你的 OpenClaw 實例已預先設定好 TLS、Telegram 整合和 Supermemory——可以立刻開始對話。
如果你寧可把時間花在使用 OpenClaw 而不是設定它,試試 ClawTank。
