自愈家庭服务器与基础设施管理

2025-01-15
5 min read
Anonymous
自愈家庭服务器与基础设施管理

运行家庭服务器意味着你要为自己基础设施 24/7 待命。凌晨 3 点服务宕机,证书静默过期,磁盘空间填满,Pod 崩溃循环——而你在睡觉或不在家。

这个用例将 OpenClaw 变成一个持久的智能体,具有 SSH 访问、自动定时任务,以及在你意识到问题之前检测、诊断和修复问题的能力。

痛点

家庭实验室运营者和自托管者面临持续的维护负担:

  • 健康检查、日志监控和告警需要手动设置和关注
  • 当出现问题,你必须 SSH 进入、诊断和修复——通常是手机操作
  • 基础设施即代码(Terraform、Ansible、Kubernetes 配置文件)需要定期更新
  • 关于你设置的知识存在于你的头脑中,而不是可搜索的文档
  • 日常任务(邮件分类、部署检查、安全审计)每周消耗数小时

功能

  • 自动健康监控:基于定时任务的服务、部署和系统资源检查
  • 自愈:通过健康检查检测问题并自主应用修复(重启 Pod、扩展资源、修复配置)
  • 基础设施管理:编写和应用 Terraform、Ansible 和 Kubernetes 配置文件
  • 早晨简报:系统健康、日历、天气和任务看板状态的每日摘要
  • 邮件分类:扫描收件箱,标记可操作项,将其余内容存档
  • 安全扫描:检查依赖项漏洞、密钥泄露和配置漂移
  • 自动文档:SSH 进入服务器,了解其配置,并编写文档

所需技能

  • SSH 访问(面向你的服务器)
  • "服务器管理"身份(专门职责)
  • 需要时 Spawn / Session Send(用于自愈操作)
  • 可选的 cron 集成(用于定时任务)

设置方法

第一步:建立连接和身份

我想让你管理我的家庭服务器。这是 SSH 密钥:[粘贴公钥]。
你有完全的 root 访问权限——但首先证明你能负责任地使用它。

首先,探索服务器并告诉我你发现了什么:
- 正在运行的操作系统和版本
- Docker/Podman 容器及其状态
- systemd 服务
- 磁盘使用情况
- 当前运行的进程

审查结果,然后设置它的身份:

从现在开始,你是我的服务器管理智能体。你的职责:
1. 保持一切运行
2. 在问题影响我之前修复它们
3. 不断了解我的设置
4. 永远不要做无法恢复的更改,除非我明确批准
5. 始终先解释你将要做什么

从编写带有 K3s、Gitea 和 n8n 的设置文档开始。
然后设置基本监控。

第二步:设置健康检测

设置健康检测定时任务:
- 每分钟:核心服务存活检查
- 每 5 分钟:磁盘和内存使用情况
- 每小时:证书过期检查
- 每天:安全扫描和安全审计

在 memory/ 中保留一份系统健康日志。
当健康检查失败时,自主尝试修复。
如果无法修复或需要我的输入,通知我。

第三步:配置告警和仪表板

构建一个仪表板,显示:
- 所有服务的状态(绿色/黄色/红色)
- 当前资源使用情况
- 今天的告警
- 待处理的更新

在浏览器中使其可访问。每天早上发送摘要。

小贴士

  • 从只读开始。让智能体探索,创建文档,然后在给它写访问权限之前审查。一旦它证明它理解你的系统,启用修复能力。
  • 使用身份。这个智能体应该有一个明确的范围。将其角色说明附加在 memory/ 中,这样它就不会扩展到日历管理或其他无关领域。
  • 在 Git 中跟踪配置。让智能体将 config 更改提交到 Git 仓库。这样即使智能体删除了它写的文件,你也有历史记录。

基于

灵感来源于 Nathan 的关于使用 OpenClaw 管理家庭服务器的全面文章,他描述了自动部署、Docker 管理、证书更新和服务器监控——所有通过聊天完成。该模式在 OpenClaw Showcase 中得到验证,@georgedagg_ 描述了类似的模式:部署监控、日志审查、配置修复和 PR 提交——同时遛狗。

相关链接