前后花了快2天时间,研究了一下小龙虾的部署使用,发出来供大家分享!
有条件最好还是使用源码进行部署,博主由于是公司服务器不好搞vpn,所以还是先用镜像部署
展开代码git clone https://github.com/openclaw/openclaw.git ./docker-setup.sh
挺简单的,后续配置一起写。
在我之前推荐的镜像站拉
展开代码docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openclaw/openclaw:2026.3.8 docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/openclaw/openclaw:2026.3.8 openclaw/openclaw:2026.3.8
创建数据目录
展开代码mkdir -p data
创建环境配置
展开代码vim .env
文件内容如下:
展开代码OPENCLAW_IMAGE=openclaw/openclaw:2026.3.8 OPENCLAW_GATEWAY_TOKEN= OPENCLAW_DATA_DIR=./data
创建docker-compose.yml
展开代码vim docker-compose.yml
文件内容如下:
展开代码services: # --- 主服务:WebUI 和 Gateway (常驻) --- openclaw-gateway: image: ${OPENCLAW_IMAGE} container_name: openclaw-gateway restart: unless-stopped init: true # 核心改动1:启用宿主机网络模式 network_mode: host environment: # 必须配置 TZ: Asia/Shanghai OPENCLAW_GATEWAY_MODE: local OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} # 基础环境 HOME: /home/node TERM: xterm-256color # 绑定设置(宿主机模式下建议绑定 0.0.0.0 或保留 lan) OPENCLAW_GATEWAY_BIND: "0.0.0.0" OPENCLAW_GATEWAY_PORT: 18789 volumes: - ${OPENCLAW_DATA_DIR}:/home/node/.openclaw - ${OPENCLAW_DATA_DIR}/workspace:/home/node/.openclaw/workspace # 核心改动2:移除 ports 映射(宿主机模式下无需映射) command: [ "node", "dist/index.js", "gateway", "--bind", "lan", "--port", "18789", ] # 补充:添加 root 用户解决权限问题(之前的核心需求) user: root # --- 工具箱:CLI (默认不启动) --- openclaw-cli: profiles: ["tools"] image: ${OPENCLAW_IMAGE} container_name: openclaw-cli init: true stdin_open: true # -i 允许输入 tty: true # -t 伪终端 # CLI 也启用宿主机网络(保持和主服务一致) network_mode: host environment: OPENCLAW_GATEWAY_MODE: local OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} HOME: /home/node TERM: xterm-256color BROWSER: echo # 防止尝试打开宿主机浏览器 volumes: - ${OPENCLAW_DATA_DIR}:/home/node/.openclaw - ${OPENCLAW_DATA_DIR}/workspace:/home/node/.openclaw/workspace entrypoint: ["node", "dist/index.js"] # 补充:CLI 也添加 root 用户 user: root
需要注意的几个点:
执行如下命令开始初始化
展开代码docker compose run --rm -u root openclaw-cli onboard
一开始无脑点跳过和yes就行,后面有需要再配置
展开代码vim data/openclaw.json
需要改以下内容:
展开代码"gateway": { "port": 18789, "mode": "local", "bind": "lan", "controlUi": { #OpenClaw 的控制 UI 是网页端,浏览器会做跨域(CORS)验证,设为 true 时,若 UI 端的 Origin 验证失败,会降级使用请求头中的 Host 字段来判断是否允许访问; "dangerouslyAllowHostHeaderOriginFallback": true, #设为 true 时,允许在非加密通道(HTTP)下传递认证信息;实际情况是这个没卵用 "allowInsecureAuth": true }, "auth": { "mode": "token", "token": "8406dc0b3bfcffd579314ef9214b7dd66e031f8c1a97b054" }, "tailscale": { "mode": "off", "resetOnExit": false }, "tls": { #这个是开https的 "enabled": true, "autoGenerate": true }, "nodes": { "denyCommands": [ "camera.snap", "camera.clip", "screen.record", "contacts.add", "calendar.add", "reminders.add", "sms.send" ] } }
展开代码docker compose up -d
页面访问 https:://yourip:18789 即可进入controlUi
执行如下命令
展开代码docker compose run --rm -u root openclaw-cli onboard
这一步选择Custom Provider

api的接口地址

API KEY


接口协议

模型id wen-max或者百炼的其他模型

之后就OK了,暂时可以聊天了,之后可以在配置频道
本文作者:刘涛
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!