跳转到内容

在 Render 上部署

使用基础设施即代码在 Render 上部署 OpenClaw。包含的 render.yaml Blueprint 以声明方式定义了您的整个堆栈,包括服务、磁盘、环境变量,因此您可以一键部署,并将基础设施与代码一起进行版本控制。

部署到 Render

点击此链接将会:

  1. 根据此仓库根目录的 render.yaml 蓝图创建一个新的 Render 服务。
  2. 提示您设置 SETUP_PASSWORD
  3. 构建 Docker 镜像并部署

部署后,您的服务 URL 将遵循 https://<service-name>.onrender.com 格式。

Render 蓝图是定义您基础设施的 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

使用的关键蓝图功能:

功能用途
runtime: docker从仓库的 Dockerfile 构建
healthCheckPathRender 监控 /health 并重启不健康的实例
sync: false在部署期间提示输入值(密钥)
generateValue: true自动生成加密安全的值
disk在重新部署后仍然保留的持久存储
计划休眠磁盘最适用于
免费空闲 15 分钟后不可用测试、演示
入门版从不1GB+个人使用、小型团队
标准版及以上从不1GB+生产环境、多个频道

蓝图默认为 starter。要使用免费套餐,请在您 fork 的仓库的 render.yaml 中修改 plan: free(但请注意:没有持久磁盘意味着每次部署时配置都会重置)。

  1. 导航至 https://<your-service>.onrender.com/setup
  2. 输入您的 SETUP_PASSWORD
  3. 选择一个模型提供商并粘贴您的 API 密钥
  4. (可选)配置消息频道(Telegram、Discord、Slack)
  5. 点击 运行设置

Web 仪表板可在 https://<your-service>.onrender.com/openclaw 访问。

仪表板 → 您的服务 → 日志 中查看实时日志。按以下条件筛选:

  • 构建日志(Docker 镜像创建)
  • 部署日志(服务启动)
  • 运行时日志(应用程序输出)

为了调试,请通过 Dashboard → your service → Shell 打开一个 shell 会话。持久化磁盘挂载在 /data

Dashboard → your service → Environment 中修改变量。更改会触发自动重新部署。

如果您使用原始的 OpenClaw 仓库,Render 将不会自动部署您的 OpenClaw。要更新它,请从仪表板运行手动 Blueprint 同步。

  1. 前往 Dashboard → your service → Settings → Custom Domains
  2. 添加您的域名
  3. 按照说明配置 DNS(CNAME 指向 *.onrender.com
  4. Render 会自动配置 TLS 证书

Render 支持水平和垂直扩缩容:

  • 垂直:更改计划以获取更多 CPU/RAM
  • 水平:增加实例数量(Standard 计划及以上)

对于 OpenClaw,垂直扩缩容通常就足够了。水平扩缩容需要 sticky sessions(粘性会话)或外部状态管理。

随时导出您的配置和工作区:

https://<your-service>.onrender.com/setup/export

这会下载一个可移植的备份文件,您可以在任何 OpenClaw 主机上恢复它。

检查 Render 仪表板中的部署日志。常见问题:

  • 缺少 SETUP_PASSWORD — Blueprint 会提示此项,但请验证其是否已设置
  • 端口不匹配 — 确保 PORT=8080 与 Dockerfile 中暴露的端口匹配

免费层服务在 15 分钟不活动后会休眠。休眠后的第一次请求需要几秒钟时间来启动容器。升级到 Starter 计划以保持始终在线。

这种情况发生在免费层(无持久化磁盘)。升级到付费计划,或 定期通过 /setup/export 导出您的配置。

Render 期望在 30 秒内从 /health 收到 200 响应。如果构建成功但部署失败,服务启动时间可能过长。请检查:

  • 构建日志中是否有错误
  • 容器是否可以使用 docker build && docker run 在本地运行