跳转到内容

在 Render 上部署

使用基础设施即代码方式在 Render 上部署 CoderClaw。内置的 render.yaml Blueprint 以声明式方式定义了你的整个技术栈——服务、磁盘、环境变量,让你只需一键即可完成部署,并将基础设施与代码一同进行版本管理。

部署到 Render

点击此链接将会:

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

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

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

services:
- type: web
name: coderclaw
runtime: docker
plan: starter
healthCheckPath: /health
envVars:
- key: PORT
value: "8080"
- key: SETUP_PASSWORD
sync: false # prompts during deploy
- key: CODERCLAW_STATE_DIR
value: /data/.coderclaw
- key: CODERCLAW_WORKSPACE_DIR
value: /data/workspace
- key: CODERCLAW_GATEWAY_TOKEN
generateValue: true # auto-generates a secure token
disk:
name: coderclaw-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

Web 管理面板位于 https://<your-service>.onrender.com/coderclaw

Dashboard → 你的服务 → Logs 中查看实时日志。可按以下类型筛选:

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

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

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

如果你使用的是原始 CoderClaw 仓库,Render 不会自动部署你的 CoderClaw。要更新它,请在仪表盘中手动执行 Blueprint 同步。

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

Render 支持水平和垂直扩展:

  • 垂直扩展:更改套餐以获取更多 CPU/内存
  • 水平扩展:增加实例数量(Standard 套餐及以上)

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

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

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

这将下载一个可移植的备份文件,你可以在任何 CoderClaw 主机上恢复。

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

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

免费套餐的服务在 15 分钟无活动后会休眠。休眠后的首次请求需要几秒钟等待容器启动。升级到 Starter 套餐可实现始终在线。

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

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

  • 构建日志中是否有错误
  • 容器是否能通过 docker build && docker run 在本地正常运行