跳到主要内容

在 Render 上部署

使用基础设施即代码(Infrastructure as Code)在 Render 上部署 Clawdbot。内置的 render.yaml 蓝图声明式地定义了你的整个技术栈,包括服务、磁盘、环境变量,因此你可以一键部署,并将基础设施与代码一同进行版本管理。

前提条件

使用 Render 蓝图部署

Deploy to Render

点击此链接将:

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

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

理解蓝图

Render 蓝图是定义基础设施的 YAML 文件。此仓库中的 render.yaml 配置了运行 Clawdbot 所需的一切:

services:
- type: web
name: clawdbot
runtime: docker
plan: starter
healthCheckPath: /health
envVars:
- key: PORT
value: "8080"
- key: SETUP_PASSWORD
sync: false # 部署期间提示
- key: CLAWDBOT_STATE_DIR
value: /data/.clawdbot
- key: CLAWDBOT_WORKSPACE_DIR
value: /data/workspace
- key: CLAWDBOT_GATEWAY_TOKEN
generateValue: true # 自动生成安全令牌
disk:
name: clawdbot-data
mountPath: /data
sizeGB: 1

所使用的关键蓝图特性:

特性用途
runtime: docker从仓库的 Dockerfile 构建
healthCheckPathRender 监控 /health 并在实例异常时重启
sync: false在部署期间提示输入值(用于密钥)
generateValue: true自动生成加密安全的随机值
disk在重新部署后依然存在的持久化存储

选择套餐

套餐休眠磁盘适用场景
Free闲置 15 分钟后不提供测试、演示
Starter从不1GB+个人使用、小型团队
Standard+从不1GB+生产环境、多频道

蓝图默认为 starter。要使用免费层级,请在你的 fork 仓库中的 render.yaml 中将 plan: starter 修改为 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/clawdbot

Render 仪表板功能

日志 (Logs)

Dashboard → your service → Logs 中查看实时日志。过滤选项包括:

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

Shell 访问

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

环境变量 (Environment variables)

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

自动部署 (Auto-deploy)

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

自定义域名

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

扩缩容 (Scaling)

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

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

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

备份与迁移

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

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

这将下载一个便携式备份,你可以在任何 Clawdbot 主机上恢复。

疑难解答

服务无法启动

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

  • 缺少 SETUP_PASSWORD —— 蓝图会提示输入,但请确认已设置
  • 端口不匹配 —— 确保 PORT=8080 与 Dockerfile 中暴露的端口一致

冷启动缓慢(免费层级)

免费层级服务在闲置 15 分钟后会休眠。休眠后的第一次请求在容器启动时需要几秒钟。升级到 Starter 套餐可保持常驻运行。

重新部署后数据丢失

这发生在免费层级(没有持久化磁盘)。请升级到付费套餐,或者定期通过 /setup/export 导出你的配置。

健康检查失败

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

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