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 系列三篇完结。按优先级:宪章 > 架构 > 运维手册。

标签: none

暂无评论

评论已关闭

此文章的评论功能已关闭。