Hermes 运维手册:基础设施、部署流水线与工具链
Hermes 运维手册:基础设施、部署流水线与工具链
本文档是 Hermes 的运维操作指南。涵盖三机基础设施拓扑、三级部署流程、常用工具命令和故障排除速查。
一、三机基础设施拓扑
公网
├── HTTPS (443) ──→ SZ-VPS nginx ──Tailscale──→ XM-50:服务端口
├── CF Tunnel ──→ HK-618 cloudflared ──Tailscale──→ XM-50:dash
└── DERP ──→ HK-618:443/3478
XM-50(主 NAS)
AMD Ryzen 7 8745H / 8核 / 7.7Gi RAM
→ 19 个 Docker 容器 + Hermes + SMB + WebDAV + Postgres
SZ-VPS(深圳阿里云)
2核 / 1.8Gi RAM
→ nginx 反代 10+ 域名,无 Docker,最小攻击面
HK-618(香港丽萨主机)
4核 / 7.8Gi RAM → 仅用了 11%
→ Dashboard + DERP + cloudflared,轻载待命
二、三级部署流程
所有 /vol1/1000/dev/ 下的项目必须走此流程:
DEV → STAGING → 版本号 + CHANGELOG(门禁) → PROD → 验证 → 日志
| 步骤 | 内容 | 铁律 |
|---|---|---|
| 1 | DEV 编辑/编译 | — |
| 2 | STAGING 部署测试 | 失败回一步 |
| 3 | bump 版本号 + CHANGELOG | ❗ 没写不能上生产 |
| 4 | PROD 部署 | 保留 .bak 回滚 |
| 5 | 生产验证 | curl 200 算完成 |
| 6 | 写 deploy-logs/ | 归档 |
| 7 | 清理 Staging | — |
版本号规范
v<major>.<minor>.<patch>
v0.1.17 修复 → v0.2.0 新功能 → v1.0.0 重大架构变更
三、记忆系统运维
agentmemory 容器
# 查看状态
docker ps --filter name=agentmemory
# 健康检查
curl -s http://127.0.0.1:3111/agentmemory/health
# 崩溃会自动重启(--restart unless-stopped)
SQLite 维护
-- WAL checkpoint(定期执行,防文件膨胀)
PRAGMA wal_checkpoint(TRUNCATE);
-- 查看 journal 模式
PRAGMA journal_mode;
-- 数据库大小
SELECT page_count * page_size / 1024 / 1024 AS size_mb
FROM pragma_page_count, pragma_page_size;
统一查询入口
./kg-deep-recall.sh "问题" # T1 + T2,默认
./kg-deep-recall.sh --deep "问题" # T1 + T2 + T3
./kg-deep-recall.sh --tier3 "问题" # 仅 Cognee
四、故障排除速查
文章发布 404
| 检查项 | 命令 |
|---|---|
| 数据库存在 | sqlite3 blog.sqlite "SELECT cid,title,authorId FROM contents" |
| authorId | 必须为 1(否则 LEFT JOIN 失败) |
| WAL 锁 | PRAGMA wal_checkpoint(TRUNCATE) 后重启容器 |
容器异常退出
Exited (255) → OOM 或未捕获异常 → 确认 --restart unless-stopped
Exited (1) → 启动参数错误 → docker logs 看输出
database locked → WAL 未清理 → checkpoint + 重启
网络不可达
SSH 超时 → Tailscale 路由异常 → 换公网 IP 直连
npm 安装慢 → 没配代理 → HTTP_PROXY=http://172.17.0.1:7890
CF Tunnel 502 → 后端服务未启动 → 检查目标端口
磁盘空间
df -h / /vol1 /vol2 # 三块盘使用率
du -sh /vol1/1000/Docker/* | sort -rh | head -10 # 容器日志/数据
五、常用命令速查
| 操作 | 命令 |
|---|---|
| 容器日志 | docker logs --tail 50 <name> |
| 重启服务 | docker restart <name> |
| 查监听端口 | ss -tlnp |
| DNS 解析 | dig +short <domain> |
| 路由追踪 | mtr -r <ip> |
| 三机巡检 | systemctl is-active monitor-agent |
| 博客验证 | curl -s -o /dev/null -w "%{http_code}" https://blog.w-tx.cn/blog/ |
| 记忆健康 | curl -s http://127.0.0.1:3111/agentmemory/health |
六、备份策略
| 数据 | 备份方式 | 保留周期 |
|---|---|---|
| blog.sqlite | 容器自动热备(backups/) | 30 天 |
| Docker 配置 | docker-compose.yml 版本管理 | 永久 |
| agentmemory | 数据挂载卷 /root/.agentmemory | 随容器 |
| Obsidian | SMB 挂载(Win10 D 盘自身备份) | 用户负责 |
| config 目录 | GitHub 版本管理 | 永久 |
七、告警方式
异常通过企业微信推送,格式:
🚨 [级别] 机器名 / 服务名
现象: 磁盘使用率 87%
详情: /vol1 已用 87%(阈值 85%)
建议: du -sh /vol1/1000/Docker/* | sort -rh | head -5
级别:🔴 严重 / 🟡 警告 / 🔵 信息
Hermes 系列三篇完结。按优先级:宪章 > 架构 > 运维手册。
暂无评论
评论已关闭
此文章的评论功能已关闭。