跳转至

Infrastructure

基础设施是整个 Agent 生态的底座。从 2026-03-10 开始,Dad 在 Azure 全球多节点上搭建了完整的开发/生产环境,形成了"应用监听本地端口 + Caddy 统一入口 + PM2/Docker 托管 + 自动化监控"的运维体系。

核心架构

部署模式

所有 Web 服务采用统一模式: - 应用层:监听 localhost 高位端口(18800-28880 段) - 反向代理:Caddy 自动 TLS,统一域名入口(*.dora.restry.cn) - 进程管理:PM2 守护 Node 服务,Docker/docker-compose 管理有状态服务 - DNS:泛解析 *.dora.restry.cn → 主服务器,*.mvp.restry.cn → MVP 部署平台

服务器拓扑

节点 位置 角色 关键服务
Owl Azure 主生产节点 OpenClaw Gateway、Clawline、Portal、Caddy
Wolf-SG Azure 新加坡 测试/备用 OpenClaw Gateway
Eagle-SG Azure 新加坡 测试/备用 OpenClaw Gateway(后扩容)
claw-bot 本地内网 (192.168.31.141) 内网平台 FRP 暴露、Caddy、Outline、Gitea
Azure China VM Azure 中国 Mattermost China Mattermost (Docker)、MVP Deployer

端口规划

  • 18800-18890:测试服务区间
  • 18821:Vite dev server
  • 18850:Mock server
  • 28880:Agentic BI
  • 18822:SSH 统一端口(远程 VM)

关键决策时间线

03-10:部署模式确立

  • Dad 决策:所有服务统一用 Caddy 域名代理,不再裸端口暴露
  • 首个案例:Agentic BI 从端口 18816 迁移到 ademo.dora.restry.cn
  • Agent Portal 也同日通过 Caddy 上线
  • Next.js 16 在资源受限 VM 上构建卡死 → Dad 决策:不再用 Next.js,改纯前端 + 轻量 Node 后端

03-12 ~ 03-13:测试机集群建设

  • 新加坡 VM(wolf-sg、eagle-sg)统一部署 OpenClaw Gateway
  • 踩坑:agentDir 继承导致工作区混乱 → Dad 决策:"各自独立工作区"
  • 踩坑:多 Agent 路由缺 bindings 配置 → 对比本地配置修正

03-16 ~ 03-17:容器化转型

  • ClawCraft 测试/生产环境走 Docker 化
  • GitHub Actions CI/CD 建立
  • 多 Agent 拆分、健康检查机制上线

03-18 ~ 03-19:多容器生产环境

  • 五容器并行:Gateway、Portal、Relay、Channel、前端
  • Logto 认证服务集成
  • 重大故障:Supabase / Portal / Gateway 基础设施连环故障排查
  • CI / Docker / Relay / 生产部署链路打通

03-20:安全加固

  • Azure NSG 全面审计与加固
  • Dev/Prod 环境信息修正与文档化
  • 服务器清单与技能访问控制建立

03-21 ~ 03-23:多节点联调

  • 新加坡统一子网迁移与 claw-runtime 重建
  • Owl/Wolf/Eagle 三节点联调
  • Eagle 资源故障:Run Command 救援 + 扩容
  • Clawline 实时消息链路 E2E 打通

03-28 ~ 03-31:成本与内网平台

  • 全局云机器批量开/关机与成本控制标签
  • 本地内网 claw-bot 平台搭建:FRP 暴露 + Caddy + Outline + Gitea
  • Mattermost 运维沉淀为 OpenClaw 技能

04-01 ~ 04-02:MVP 部署与故障

  • 轻量 MVP 部署平台(MVP Deployer v2)上线
  • claw-bot 宕机:OpenClaw 卡顿根因定位(Token/账号侧问题,非本地网络)
  • Mattermost China VM 死机:内存耗尽 → 强制重启 + 加 Swap + 容器内存限制
  • 数据库密码修改事故处理

04-03 ~ 04-04:新服务部署

  • Azure OpenAI Realtime Voice Demo 部署(WebSocket proxy 架构)
  • GrowLog AI 服务修复
  • MVP Deployer 部署薯条平台,修复权限/依赖/路由
  • 技能目录去重清理

运维经验沉淀

环境变量

  • .bashrc 写入不够:非交互进程、子 Agent、后台任务不继承
  • 应在 systemd / supervisor / 启动脚本中显式 export

故障诊断模式

  • "端口通、握手不通、SSH banner 超时" → VM 资源耗尽信号
  • Azure 排障不要只盯 NSG;控制面命令也超时 → 宿主机问题
  • 对关键容器配 mem_limit,防整机雪崩

部署策略

  • 自动化优先、人工兜底:MVP Deployer API 有 bug 时,PM2 + Caddy 手工兜底
  • 云上为准:多环境时只保留云端,减少配置歧义
  • 服务器为事实源:凭据/配置直接从运行环境提取,不依赖本地缓存

进程管理

  • Codex 在复杂前端项目超时率高 → AI 生成适合脚手架,不适合完全托管
  • PM2 进程需定期检查是否为空进程
  • jiti 缓存需手动清理(Channel 插件热加载场景)

子页面

子页面 覆盖内容
03-10-Cron任务与自动化 定时任务能力、Cron 调度架构
03-13-远程服务器管理与OpenClaw部署 新加坡 VM 部署、多 Agent 路由
03-13-Azure-NSG安全加固 NSG 审计、安全规则修正
03-25-健康监控与日报系统 健康检查、日报自动化

项目状态

  • ✅ 多节点生产环境稳定运行
  • ✅ Caddy + PM2/Docker 统一运维模式
  • ✅ 监控与自动化基础就绪
  • 🔄 Portal 内建监控能力持续迭代中
  • 📋 成本控制标签体系待完善