通过 Infrastructure as Code 的方式在 Render 上部署 OpenClaw。仓库自带的 render.yaml Blueprint 以声明式定义了整个技术栈——服务、磁盘、环境变量——一键部署,基础设施配置和代码版本管理合二为一。
前置条件
用 Render Blueprint 部署
点击链接后会发生这些事:
- Render 根据仓库根目录的
render.yamlBlueprint 创建新服务。 - 提示你设置
SETUP_PASSWORD。 - 构建 Docker 镜像并部署。
部署完成后,服务地址的格式是 https://<service-name>.onrender.com。
理解 Blueprint
Render Blueprint 是用来定义基础设施的 YAML 文件。这个仓库中的 render.yaml 已经配好了运行 OpenClaw 所需的一切:
services:
- type: web
name: openclaw
runtime: docker
plan: starter
healthCheckPath: /health
envVars:
- key: PORT
value: "8080"
- key: SETUP_PASSWORD
sync: false # prompts during deploy
- key: OPENCLAW_STATE_DIR
value: /data/.openclaw
- key: OPENCLAW_WORKSPACE_DIR
value: /data/workspace
- key: OPENCLAW_GATEWAY_TOKEN
generateValue: true # auto-generates a secure token
disk:
name: openclaw-data
mountPath: /data
sizeGB: 1
Blueprint 用到的关键特性:
| 特性 | 用途 |
|---|---|
runtime: docker | 从仓库的 Dockerfile 构建镜像 |
healthCheckPath | Render 监控 /health,不健康时自动重启实例 |
sync: false | 部署时弹窗让你输入(用于密钥等敏感值) |
generateValue: true | 自动生成加密安全的随机值 |
disk | 持久存储,重新部署后数据不会丢 |
选择套餐
| 套餐 | 自动休眠 | 磁盘 | 适合场景 |
|---|---|---|---|
| Free | 闲置 15 分钟后休眠 | 不支持 | 测试、演示 |
| Starter | 不休眠 | 1GB+ | 个人使用、小团队 |
| Standard+ | 不休眠 | 1GB+ | 生产环境、多渠道接入 |
Blueprint 默认用 starter 套餐。想用免费层的话,在你 fork 的 render.yaml 里把 plan: free 改一下就行(不过要注意:免费层没有持久磁盘,每次部署配置都会重置)。
部署之后
完成配置向导
- 打开
https://<your-service>.onrender.com/setup - 输入你的
SETUP_PASSWORD - 选择模型提供商,粘贴 API key
- 按需配置消息渠道(Telegram、Discord、Slack)
- 点击 Run setup
访问控制面板
网页管理面板地址:https://<your-service>.onrender.com/openclaw。
Render 控制台功能
日志
在 Dashboard → 你的服务 → Logs 中查看实时日志,可以按类型筛选:
- Build 日志(Docker 镜像构建过程)
- Deploy 日志(服务启动过程)
- Runtime 日志(应用运行输出)
Shell 访问
调试时可以在 Dashboard → 你的服务 → Shell 中打开终端。持久磁盘挂载在 /data。
环境变量
在 Dashboard → 你的服务 → Environment 中修改变量。改完会自动触发重新部署。
自动部署
如果你直接用的是 OpenClaw 官方仓库,Render 不会自动部署更新。要更新的话,需要在控制台手动执行 Blueprint 同步。
自定义域名
- 进入 Dashboard → 你的服务 → Settings → Custom Domains
- 添加你的域名
- 按指引配置 DNS(CNAME 指向
*.onrender.com) - Render 会自动签发 TLS 证书
扩容
Render 支持水平扩容和垂直扩容:
- 垂直扩容:换更高级的套餐,获得更多 CPU/内存
- 水平扩容:增加实例数量(Standard 及以上套餐)
对 OpenClaw 来说,垂直扩容通常就够了。水平扩容需要配置会话保持(sticky sessions)或外部状态管理。
备份与迁移
随时可以导出配置和工作区:
https://<your-service>.onrender.com/setup/export
下载的是一个便携备份包,可以在任意 OpenClaw 主机上恢复。
常见问题排查
服务启动失败
去 Render 控制台看部署日志。常见原因:
SETUP_PASSWORD没设置——Blueprint 部署时会提示,但最好再确认一下- 端口不匹配——确保
PORT=8080和 Dockerfile 暴露的端口一致
免费层冷启动慢
免费层服务闲置 15 分钟就会休眠。休眠后第一次请求需要等几秒钟让容器重新启动。升级到 Starter 套餐就能常驻运行。
重新部署后数据丢失
这是免费层的问题(没有持久磁盘)。升级到付费套餐,或者养成习惯定期通过 /setup/export 导出配置。
健康检查失败
Render 要求 /health 在 30 秒内返回 200 响应。如果构建成功但部署失败,可能是服务启动太慢。排查方向:
- 看 Build 日志有没有报错
- 试试在本地用
docker build && docker run跑一下容器