使用基础设施即代码在 Render 上部署 OpenClaw。包含的 render.yaml Blueprint 以声明方式定义你的整个堆栈,包括服务、磁盘、环境变量,因此你可以一键部署并将基础设施与代码一起版本化。
先决条件
- 一个 Render 账户 (有免费层级)
- 来自你首选 模型 provider 的 API key
使用 Render Blueprint 部署
部署到 Render点击此链接将:
- 从此仓库根目录的 render.yaml Blueprint 创建一个新的 Render 服务。
- 提示你设置 SETUP_PASSWORD
- 构建 Docker 镜像并部署
部署后,你的服务 URL 遵循模式 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 # 部署期间提示
- key: OPENCLAW_STATE_DIR
value: /data/.openclaw
- key: OPENCLAW_WORKSPACE_DIR
value: /data/workspace
- key: OPENCLAW_GATEWAY_TOKEN
generateValue: true # 自动生成安全 token
disk:
name: openclaw-data
mountPath: /data
sizeGB: 1
使用的关键 Blueprint 功能:
| 功能 | 目的 |
|---|---|
| runtime: docker | 从仓库的 Dockerfile 构建 |
| healthCheckPath | Render 监控 /health 并重启不健康的实例 |
| sync: false | 部署期间提示输入值(秘密) |
| generateValue: true | 自动生成加密安全的值 |
| disk | 在重新部署后保留的持久存储 |
选择计划
| 计划 | Spin-down (休眠) | 磁盘 | 最适合 |
|---|---|---|---|
| Free (免费) | 空闲 15 分钟后 | 不可用 | 测试、演示 |
| Starter | 从不 | 1GB+ | 个人使用、小团队 |
| Standard+ | 从不 | 1GB+ | 生产、多个渠道 |
Blueprint 默认为 starter。要使用免费层级,在你 fork 的 render.yaml 中将 plan: free 更改(但请注意: 没有持久磁盘意味着每次部署时配置重置)。
部署后
完成设置向导
- 导航到 https://<your-service>.onrender.com/setup
- 输入你的 SETUP_PASSWORD
- 选择模型 provider 并粘贴你的 API key
- 可选配置消息渠道 (Telegram, Discord, Slack)
- 点击 Run setup(运行设置)
访问 Control UI (控制界面)
网页仪表板可在 https://<your-service>.onrender.com/openclaw 访问。
Render Dashboard 功能
日志
在 Dashboard → your service → Logs 查看实时日志。过滤依据:
- Build logs (构建日志) (Docker 镜像创建)
- Deploy logs (部署日志) (服务启动)
- Runtime logs (运行时日志) (应用程序输出)
Shell 访问
要调试,通过 Dashboard → your service → Shell 打开 shell 会话。持久磁盘挂载在 /data。
环境变量
在 Dashboard → your service → Environment 修改变量。更改会触发自动重新部署。
Auto-deploy (自动部署)
如果你使用原始 OpenClaw 仓库,Render 不会自动部署你的 OpenClaw。要更新它,从仪表板运行手动 Blueprint 同步。
自定义域名
- 前往 Dashboard → your service → Settings → Custom Domains
- 添加你的域名
- 按指示配置 DNS (CNAME 到 *.onrender.com)
- Render 自动提供 TLS 证书
扩展
Render 支持水平和垂直扩展:
- 垂直: 更改计划以获得更多 CPU/RAM
- 水平: 增加实例数量(Standard 计划及以上)
对于 OpenClaw,垂直扩展通常就足够了。水平扩展需要粘性会话或外部状态管理。
备份和迁移
随时导出你的配置和 workspace:
https://<your-service>.onrender.com/setup/export
这会下载一个可移植的备份,你可以在任何 OpenClaw 主机上恢复。
故障排除
服务无法启动
检查 Render Dashboard 中的部署日志。常见问题:
- 缺少 SETUP_PASSWORD — Blueprint 会提示此项,但要验证它已设置
- 端口不匹配 — 确保 PORT=8080 与 Dockerfile 的暴露端口匹配
慢冷启动(免费层级)
免费层级服务在 15 分钟不活动后休眠。休眠后的第一个请求需要几秒钟,因为容器正在启动。升级到 Starter 计划以获得始终在线。
重新部署后数据丢失
这在免费层级上发生(没有持久磁盘)。升级到付费计划,或 通过 /setup/export 定期导出你的配置。
Health check 失败
Render 期望在 30 秒内从 /health 获得 200 响应。如果构建成功但部署失败,服务可能需要太长时间才能启动。检查:
- 构建日志中的错误
- 容器是否在本地运行 docker build && docker run