使用基础设施即代码方式在 Render 上部署 Fased。内置的 deploy/hosting/render.yaml Blueprint
从本仓库文件定义服务、磁盘和环境变量,让托管部署可以和本地运行的代码一起审查和版本管理。
Render 会保留在文档中,是因为本仓库包含 deploy/hosting/render.yaml。Fased
不记录仓库外部的托管预设,因为无法从代码库验证或维护。默认托管安全姿态仍然优先推荐干净 VPS +
Tailscale 私有访问。
前提条件
- 一个 Render 账户(提供免费套餐)
- 你稍后计划在 Agent > Models 中添加的模型提供商凭据
使用 Render Blueprint 部署
使用 deploy/hosting/render.yaml 作为本仓库已审查的 Blueprint。如果你的
Render 流程要求根目录 render.yaml,先把这个文件复制到 fork 的根目录。
Blueprint 将会:
- 根据已审查的
deploy/hosting/render.yaml 创建一个新的 Render 服务。
- 为 Control UI 生成 Gateway token
- 构建 Docker 镜像并部署
部署完成后,你的服务 URL 格式为 https://<service-name>.onrender.com。
了解 Blueprint
Render Blueprint 是定义基础设施的 YAML 文件。本仓库中的 deploy/hosting/render.yaml 配置了运行 Fased 所需的一切:
services:
- type: web
name: fased
runtime: docker
plan: starter
healthCheckPath: /health
envVars:
- key: PORT
value: "8080"
- key: FASED_STATE_DIR
value: /data/.fased
- key: FASED_GATEWAY_TOKEN
generateValue: true # auto-generates a secure token
disk:
name: fased-data
mountPath: /data
sizeGB: 1
使用的关键 Blueprint 功能:
| 功能 | 用途 |
|---|
runtime: docker | 从仓库的 Dockerfile 进行构建 |
healthCheckPath | Render 监控 /health 并重启不健康的实例 |
generateValue: true | 自动生成加密安全的值 |
disk | 持久化存储,在重新部署后数据仍然保留 |
FASED_STATE_DIR 控制配置和状态路径。Agent 工作区文件由
agents.defaults.workspace 或单个 Agent 的 workspace 设置控制。
FASED_WORKSPACE_DIR 只由 Docker/Podman 辅助脚本使用,不要依赖它来配置普通托管运行时。在 Agent 设置中将默认 Agent 工作区设为 /data/workspace,或在 Shell 中运行:
node dist/index.js config set agents.defaults.workspace /data/workspace
修改配置后重启服务。
选择套餐
| 套餐 | 休眠机制 | 磁盘 | 适用场景 |
|---|
| Free | 空闲 15 分钟后休眠 | 不可用 | 测试、演示 |
| Starter | 永不休眠 | 1GB+ | 个人使用、小团队 |
| Standard+ | 永不休眠 | 1GB+ | 常驻、多渠道 |
Blueprint 默认使用 starter。如需使用免费套餐,请在你 fork 的 deploy/hosting/render.yaml 中将 plan: free(但请注意:没有持久化磁盘意味着每次部署后配置都会重置)。
部署完成后
完成设置
- 访问
https://<your-service>.onrender.com/
- 如果提示,输入 Gateway token
- 使用 Agent > Models 配置模型认证和模型角色
- 在 Chat 中测试一条消息
- 只在需要时添加 Agent > Channels、Services、Skills、Memory 和 Tasks
访问控制面板
Web 管理面板位于 https://<your-service>.onrender.com/。
Render 仪表盘功能
在 Dashboard → 你的服务 → Logs 中查看实时日志。可按以下类型筛选:
- 构建日志(Docker 镜像创建)
- 部署日志(服务启动)
- 运行时日志(应用输出)
Shell 访问
如需调试,可通过 Dashboard → 你的服务 → Shell 打开 shell 会话。持久化磁盘挂载在 /data。
环境变量
在 Dashboard → 你的服务 → Environment 中修改变量。更改会触发自动重新部署。
自动部署
如果你使用的是原始 Fased 仓库,Render 不会自动部署你的 Fased。要更新它,请在仪表盘中手动执行 Blueprint 同步。
自定义域名
- 前往 Dashboard → 你的服务 → Settings → Custom Domains
- 添加你的域名
- 按照指引配置 DNS(CNAME 指向
*.onrender.com)
- Render 会自动配置 TLS 证书
Render 支持水平和垂直扩展:
- 垂直扩展:更改套餐以获取更多 CPU/内存
- 水平扩展:增加实例数量(Standard 套餐及以上)
对于 Fased,垂直扩展通常就足够了。水平扩展需要粘性会话或外部状态管理。
备份与迁移
迁移主机前,请备份 Render 持久化磁盘,或复制已配置的状态目录和已配置的 Agent 工作区。
请把 FASED_GATEWAY_TOKEN、模型认证、渠道凭据和钱包文件都视为密钥。
故障排除
服务无法启动
在 Render 仪表盘中检查部署日志。常见问题:
- 旧 Blueprint 提示 — 如果 Render 要求填写当前
deploy/hosting/render.yaml
中不存在的变量,请先同步 fork 后再部署
- 端口不匹配 — 确保
PORT=8080 与 Dockerfile 暴露的端口一致
冷启动缓慢
部分 Render 计划会在无活动后休眠。休眠后的首次请求需要几秒钟等待容器启动。需要连续访问时,请使用常驻计划。
重新部署后数据丢失
这发生在没有持久化磁盘支持的计划上。使用持久化存储,或定期备份已配置的状态目录和已配置的 Agent 工作区。
健康检查失败
Render 期望在 30 秒内从 /health 获得 200 响应。如果构建成功但部署失败,可能是服务启动耗时过长。请检查:
- 构建日志中是否有错误
- 容器是否能通过
docker build && docker run 在本地正常运行