手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

这篇文章主要是复盘一下怎么把 OpenClaw 从源代码开始弄成 Docker 容器,顺便把编译打包、换机器部署以及怎么配置访问权限都捋一遍。

图片

手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

1. 把代码拉下来

第一步,先把 OpenClaw 的代码从官方仓库里拉下来:

git clone https://github.com/openclaw/openclaw.git
cd openclaw

手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

2. 编译加打包(跑一下 docker-setup.sh)

进到源码目录里头,直接跑一下 docker-setup.sh 这个脚本,编译和打包的事儿就交给它了:

./docker-setup.sh

脚本跑起来之后,它会自动干这么几件事:

  • 先把依赖包装好(npm 或者 pnpm)
  • 接着把 TypeScript 代码转成 JavaScript 放到 dist/ 文件夹里
  • 最后直接打出一个包含了编译后程序的 Docker 镜像

想知道成没成功,敲个命令瞅瞅:

docker images | grep openclaw

或者直接进容器里试一下:

docker run --rm openclaw:local node dist/index.js --version

只要能蹦出版本号,那就算编译搞定了。


手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

3. 把容器跑起来

接着用 docker-compose 把 OpenClaw 的网关和命令行工具拉起来:

docker-compose up -d

跑起来以后,网关默认会占用 18789 这个端口。


手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

4. 搞定 Token 进 Control UI

  1. 钻进容器里头,生成一个用来登录 Dashboard 的 Token:
docker-compose exec openclaw-cli openclaw dashboard --no-open

出来的结果大概长这样:

Dashboard URL: http://127.0.0.1:18789/#token=<your-token>
  1. 把上面那个 URL 复制粘贴到浏览器里,就能凭 Token 进 Control UI 后台了。
  2. 如果你想让别的电脑也能连,得去 openclaw.json 里改个配置:
"gateway": {
  "controlUi": {
    "allowInsecureAuth": true
  }
}

提个醒:这招只能用 Token 登,安全性差点意思,一定要确保网络环境安全再这么干。


手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

5. 搬家到别的机器

换机器部署的时候,光搬运 Docker 镜像是不够的,配置文件和环境数据也都得打包带走:

  1. 先把现有的 Docker 镜像存成文件:
docker save openclaw:local -o openclaw.tar
  1. 到了新机器上,把这个镜像文件导进去:
docker load -i openclaw.tar
  1. 把配置文件和环境变量搬过去:
# 把 docker-compose.yml 和 .env 传过去
scp docker-compose.yml .env user@target:/home/user/openclaw/
# 把 OpenClaw 的核心配置目录也传过去
scp -r /root/.openclaw user@target:/root/
  1. 在新机器上把容器跑起来:
cd /home/user/openclaw
docker-compose up -d

这么折腾一圈,你原来的 Token、Workspace 还有插件配置就都能原封不动地过来了。

手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

6. 几个要注意的坑

  1. 关于 HTTPS 和设备身份
    • 默认情况下,Control UI 是要验证 设备身份 的,不然浏览器直接给你弹个 control ui requires device identity 的错。
    • 要是想在公网或者多台设备上用,强烈建议上 HTTPS(自己签个证书或者用 Tailscale Serve 都行),给 Token 加把锁。
    • 实在没辙必须用 HTTP 的话,就在 openclaw.json 里加上这一段:
      “gateway”: {
      “controlUi”: {
      “allowInsecureAuth”: true
      }
      }
      这样就只认 Token 了,但安全性肯定大打折扣。
  2. 跨域问题
    • Control UI 默认只认 http://localhost 或者 127.0.0.1
    • 想要从别的机器访问,你得把那台机器的访问地址加到 gateway.controlUi.allowedOrigins 里去。比如这样:
      “gateway”: {
      “controlUi”: {
      “allowedOrigins”: [“http://172.244.44.35:18789”]
      }
      }
  3. 给设备授权

手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

  • 多台设备连的时候,可能得手动批一下
    openclaw devices list
    openclaw devices approve
  • 要是配对挂了,或者 Token 试错次数太多,会提示 unauthorized: too many failed authentication attempts,这时候要么在那干等一会儿,要么干脆重新生个 Token 算了。
  1. Token 能不能多处使用
    • 正常来说,一个 Token 同一时间只能给一台设备用。
    • 如果好几个人都要用,最好还是给每个人单独弄个 Token,或者硬着头皮开 allowInsecureAuth(再次强调,有风险)。

手把手教你一键部署OpenClaw,连接微信、QQ、飞书、钉钉等,1分钟全搞定!

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐