OpenClaw 怎么部署:本地源码安装和 Docker 部署怎么选
如果你现在只是想把 OpenClaw 先跑起来,最容易卡住的地方通常不是安装命令本身,而是第一步就选错了路。
很多人第一次搜这个项目时,脑子里的问题其实都差不多:到底该装在自己电脑上,还是直接扔到云服务器?源码安装是不是更“正统”?Docker 会不会更简单?结果一圈资料看下来,选项越来越多,人反而更犹豫。
我把 OpenClaw 官方 README 和官方 Docker 文档重新过了一遍,最后的感觉很明确:这不是一个“哪条命令更帅”的问题,而是一个“你现在到底想使用它,还是想接管它”的问题。只要先把这件事想清楚,后面的路其实没那么绕。
先想清楚:你是想用它,还是想接管它
如果你只是普通用户,目标很简单,就是今天把 OpenClaw 装起来,先看看它到底适不适合自己,那我真的不建议你一上来就选源码安装。官方 README 现在给的新手入口,本来就是 Node 24,或者至少 Node 22.16+ 的环境里,直接先装 CLI:
npm install -g openclaw@latest
openclaw onboard --install-daemon
这条路的味道很明显,它更像“正常使用者入口”。你先把 CLI 装好,跑 onboarding,把网关和初始配置一步步走完,先让东西跑起来。它不是在逼你先理解整个项目怎么 build,也不是在让你先接手一套开发环境。
源码安装就完全不是这个气质了。官方给的那组命令是从仓库开始,git clone、pnpm install、pnpm ui:build、pnpm build,后面再继续跑 pnpm openclaw onboard --install-daemon 和 pnpm gateway:watch。你光看这个流程就知道,它更像是给准备深入折腾的人留的。你如果后面要看实现、改行为、跟仓库节奏、自己调试,那当然很合适;但如果你只是想先体验一下,这条路通常只会把开局变重。
很多人第一次选路时,容易有一个误会,觉得源码安装既然更“底层”,那肯定也更“完整”。但对普通人来说,这种完整很多时候只是多背了一层维护成本。Node 版本、依赖装没装好、UI 有没有 build 过、后面升级会不会卡住,这些事情都会提前落到你头上。你如果本来只是想确认 OpenClaw 好不好用,这个代价不太划算。
Docker 不是自动更轻:本地和云端是两回事
Docker 也是一样,别一听容器化就觉得它自动更轻。OpenClaw 官方 Docker 文档开头其实说得很直白,Docker 是 optional。它更适合你想把 Gateway 放进一个隔离环境里,或者你本来就是准备把它跑在一台更像部署主机的机器上。反过来说,如果你已经坐在自己的电脑前,只是想尽快开始用,官方反而更偏向普通安装流。
这点我觉得特别重要,因为它直接把“本地电脑”和“云端服务器”分成了两类事情。在自己电脑上,Docker 很多时候不是最快路径。你还得先有 Docker Desktop 或 Docker Engine,要确认 Compose v2 没问题,还得留足够的资源给镜像构建。官方文档甚至专门提醒过,镜像构建至少建议 2 GB 内存,不然 pnpm install 可能就会因为内存不够被系统杀掉。你如果只是想先开箱体验,这套前置动作未必比 CLI 更省事。
但如果你是在云端,情况就会一下子变得不一样。你如果本来就准备把 Gateway 长期挂在一台 Linux 机器上,这时候 Docker 反而很顺手。不是因为它更高级,而是因为它更像一条正经部署路径。你把运行环境包起来,后面迁移、重建、删了重来,思路都会干净一些。它不代表没有维护成本,只是这些成本更符合“服务器在跑一个服务”这个场景。
而且 OpenClaw 官方 Docker 文档本身,也不是那种“一条 docker run 就完事”的写法。它给的主流程,是在仓库根目录里跑 ./scripts/docker/setup.sh,让脚本去处理镜像、onboarding、.env 和 Docker Compose 启动。如果你不想自己本地构建,也可以先导出预构建镜像:
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
./scripts/docker/setup.sh
这其实已经说明很多了。Docker 这条路不是为了把所有东西藏起来,而是为了把运行环境收进容器里。它更像“部署模式”,不太像“安装模式”。文档里还有个细节也挺说明问题,在这套流程里,openclaw-cli 更像容器起来之后继续操作的工具,而不是从零开始的安装器。有些 setup-time 的动作,官方就是让你通过 openclaw-gateway 去做的。
一句话总结:选路就是选维护成本
所以如果现在让我用一句很白的话总结,我大概会这么说。你如果只是想在自己电脑上先把 OpenClaw 跑起来,先用官方 CLI,别急着碰源码。你如果准备把它放在云端长期跑,那就认真看 Docker,因为那条路更像部署。至于源码安装,只有当你已经很确定自己后面会看代码、改实现、追版本、自己扛构建时,它才真有意义。
说到底,源码安装和 Docker 部署差的根本不是命令多两行少两行,而是你准备把后续维护成本放在哪。源码路径的好处是透明,项目结构和构建过程都在你眼前,离问题更近,也更方便改;代价是 Node、依赖、UI 构建、开发脚本这些事情都会变成你的日常。Docker 路径则是把运行时包起来,对云端特别友好,但你还是得管持久化、端口、健康检查、镜像更新和访问面。官方文档里会提到 healthz、readyz、lan、loopback,甚至还会提醒公开主机上的 Docker 防火墙策略,这些都在说明一件事:这条路服务的是部署者,不是第一次装软件的人。
四个最常见的坑
普通人最容易踩的坑,其实也无非就这几种。第一种是把源码安装当成默认安装,结果刚开始就被依赖和 build 绕晕。第二种是把 Docker 想得过于轻松,尤其是在本地电脑上,最后发现容器环境本身反而成了门槛。第三种是低估运行时要求,比如 Node 版本这种看起来不起眼的东西,一旦不对,后面很多问题都只是连锁反应。还有一种特别常见,就是服务器上终于跑起来了,就觉得事情结束了,结果后面迁移或重建时才发现,真正麻烦的根本不是容器,而是数据和配置。
如果你真打算把 OpenClaw 长期放在服务器上,这时候顺手把备份和恢复路线一起想一下,会比后面补救轻松很多。像我前面写过的 Docker 数据卷自动备份到 GitHub:适合 1Panel 的低成本容灾方案,其实就是这种思路。别一开始就想做得多大,先保证出问题时还有一条能回来的路。
我自己看完 OpenClaw 这套文档后,最直观的感受其实就一句话:它给的不是一条安装路,而是几条面向不同人的路。你只要别把“我要先用它”和“我要自己接管它”混在一起,整个部署问题就会简单很多。
如果你平时也在整理自己的部署路线,可以顺手看一下这个站里的 部署主题页。我后面还会继续把这类“本地怎么装、云端怎么放、什么时候该容器化”的实战文章慢慢补起来。