部署在 Render

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

先决条件

使用 Render Blueprint 部署

Deploy to Render

点击此链接将:

  1. 从该仓库根目录的 render.yaml Blueprint 创建新的 Render 服务
  2. 提示你设置 SETUP_PASSWORD
  3. 构建 Docker 镜像并部署

部署完成后,你的服务 URL 遵循模式 https://<service-name>.onrender.com

理解 Blueprint

Render Blueprints 是定义基础设施的 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 # 自动生成安全令牌
    disk:
      name: openclaw-data
      mountPath: /data
      sizeGB: 1

使用的关键 Blueprint 功能:

功能用途
runtime: docker从仓库的 Dockerfile 构建
healthCheckPathRender 监控 /health 并重启不健康的实例
sync: false部署时提示输入值(密钥)
generateValue: true自动生成加密安全值
disk在重新部署后保留的持久化存储

选择套餐

套餐休眠磁盘最适合
Free空闲 15 分钟后不可用测试、演示
Starter永不1GB+个人使用、小型团队
Standard+永不1GB+生产环境、多频道

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

部署后

完成设置向导

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

访问 Control UI

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

Render 仪表板功能

日志

Dashboard → 你的服务 → Logs 中查看实时日志。过滤:

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

Shell 访问

用于调试,通过 Dashboard → 你的服务 → Shell 打开 shell 会话。持久化磁盘挂载在 /data

环境变量

Dashboard → 你的服务 → Environment 中修改变量。更改会触发自动重新部署。

自动部署

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

自定义域名

  1. 前往 Dashboard → 你的服务 → Settings → Custom Domains
  2. 添加你的域名
  3. 按照说明配置 DNS(CNAME 到 *.onrender.com
  4. Render 会自动提供 TLS 证书

扩展

Render 支持水平和垂直扩展:

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

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

备份和迁移

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

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 在本地运行