在 Render 上部署
使用基础设施即代码在 Render 上部署 Moltbot。包含的 render.yaml 蓝图以声明方式定义了整个堆栈、服务、磁盘、环境变量,因此您可以单击部署并将基础设施与代码一起进行版本控制。
前提条件
使用 Render 蓝图部署
单击此链接将:
- 从此仓库根目录的
render.yaml蓝图创建新的 Render 服务。 - 提示您设置
SETUP_PASSWORD。 - 构建 Docker 镜像并部署。
部署后,您的服务 URL 遵循 https://<service-name>.onrender.com 模式。
了解蓝图
Render 蓝图是定义基础设施的 YAML 文件。此仓库中的 render.yaml 配置了运行 Moltbot 所需的一切:
services:
- type: web
name: moltbot
runtime: docker
plan: starter
healthCheckPath: /health
envVars:
- key: PORT
value: "8080"
- key: SETUP_PASSWORD
sync: false # 部署期间提示
- key: MOLTBOT_STATE_DIR
value: /data/.moltbot
- key: MOLTBOT_WORKSPACE_DIR
value: /data/workspace
- key: MOLTBOT_GATEWAY_TOKEN
generateValue: true # 自动生成安全令牌
disk:
name: moltbot-data
mountPath: /data
sizeGB: 1使用的关键蓝图功能:
| 功能 | 目的 |
|---|---|
runtime: docker | 从仓库的 Dockerfile 构建 |
healthCheckPath | Render 监控 /health 并重启不健康的实例 |
sync: false | 在部署期间提示输入值(密钥) |
generateValue: true | 自动生成加密安全的值 |
disk | 在重新部署后仍然存在的持久存储 |
选择套餐
| 套餐 | 休眠 | 磁盘 | 最适合 |
|---|---|---|---|
| 免费 | 空闲 15 分钟后 | 不可用 | 测试、演示 |
| 入门版 | 从不 | 1GB+ | 个人使用、小团队 |
| 标准版+ | 从不 | 1GB+ | 生产环境、多个频道 |
蓝图默认为 starter。要使用免费套餐,请在您的分支的 render.yaml 中更改 plan: free(但请注意:没有持久磁盘意味着每次部署时配置都会重置)。
部署后
完成设置向导
- 导航到
https://<your-service>.onrender.com/setup - 输入您的
SETUP_PASSWORD - 选择模型提供商并粘贴您的 API 密钥
- 可选配置消息频道(Telegram、Discord、Slack)
- 点击 运行设置
访问控制界面
Web 仪表板位于 https://<your-service>.onrender.com/moltbot。
Render 仪表板功能
日志
在 Dashboard → 您的服务 → Logs 中查看实时日志。按以下方式过滤:
- 构建日志(Docker 镜像创建)
- 部署日志(服务启动)
- 运行时日志(应用程序输出)
Shell 访问
要进行调试,通过 Dashboard → 您的服务 → Shell 打开 shell 会话。持久磁盘挂载在 /data。
环境变量
在 Dashboard → 您的服务 → Environment 中修改变量。更改会触发自动重新部署。
自动部署
如果您使用原始的 Moltbot 仓库,Render 不会自动部署您的 Moltbot。要更新它,请从仪表板运行手动蓝图同步。
自定义域名
- 转到 Dashboard → 您的服务 → Settings → Custom Domains
- 添加您的域名
- 按照说明配置 DNS(CNAME 到
*.onrender.com) - Render 自动配置 TLS 证书
扩展
Render 支持水平和垂直扩展:
- 垂直:更改套餐以获得更多 CPU/RAM
- 水平:增加实例数量(标准套餐及以上)
对于 Moltbot,垂直扩展通常就足够了。水平扩展需要粘性会话或外部状态管理。
备份和迁移
随时导出您的配置和工作空间:
https://<your-service>.onrender.com/setup/export这会下载一个可移植的备份,您可以在任何 Moltbot 主机上恢复。
故障排除
服务无法启动
在 Render 仪表板中检查部署日志。常见问题:
- 缺少
SETUP_PASSWORD— 蓝图会提示此问题,但请验证它是否已设置 - 端口不匹配 — 确保
PORT=8080与 Dockerfile 的暴露端口匹配
冷启动缓慢(免费套餐)
免费套餐服务在 15 分钟不活动后关闭。关闭后的第一个请求在容器启动时需要几秒钟。升级到入门版套餐以保持始终运行。
重新部署后数据丢失
这发生在免费套餐上(没有持久磁盘)。升级到付费套餐,或定期通过 /setup/export 导出您的配置。
健康检查失败
Render 期望在 30 秒内从 /health 获得 200 响应。如果构建成功但部署失败,服务启动可能需要太长时间。检查:
- 构建日志中是否有错误
- 容器是否使用
docker build && docker run在本地运行