Самовосстанавливающийся сервер: AI следит за инфраструктурой
AI-агент для домашнего сервера: мониторинг, автоматическое восстановление, SSH-доступ и крон-задачи.
Домашний сервер — это постоянная вахта. Сервис падает в три ночи, сертификаты истекают незаметно, диск заполняется, поды уходят в краш-луп — а вы спите или в отпуске. Каждый, кто держит homelab, знает этот утренний ритуал: проверить Uptime Kuma, глянуть логи, перезапустить упавший контейнер. Что если доверить это AI-агенту?
В этой статье — настройка персистентного инфраструктурного агента с SSH-доступом к машинам, автоматическими крон-задачами и возможностью обнаруживать и исправлять проблемы до того, как вы о них узнаете.
Проблема: обслуживание никогда не заканчивается
У оператора домашнего сервера (или selfhosted-инфраструктуры) десятки рутинных задач, которые нужно выполнять регулярно:
- Health checks и алертинг. Мониторинг сервисов, эндпоинтов, ресурсов — требует настройки и постоянного внимания.
- Диагностика и ремонт. Когда что-то ломается, нужно SSH-иться, смотреть логи, чинить — часто с телефона.
- Infrastructure-as-code. Terraform, Ansible, манифесты Kubernetes нуждаются в обновлении и поддержке.
- Секреты и безопасность. Сканирование на захардкоженные ключи, проверка привилегированных контейнеров, аудит доступа.
- Рутинные операции. Триаж почты, проверка деплоев, обновление зависимостей — часы каждую неделю.
Знания о вашей инфраструктуре живут у вас в голове, а не в документации. И когда вы не рядом — никто не починит.
Решение: персистентный инфраструктурный агент
Идея: AI-агент работает как always-on дежурный инженер. У него есть SSH-доступ к вашим машинам, он выполняет cron-задачи, мониторит сервисы и автоматически применяет фиксы. Вы настроили — и забыли.
Что умеет агент
- Автоматический мониторинг. Кроновые проверки сервисов, деплоев, системных ресурсов каждые 15 минут и каждый час.
- Самовосстановление. Обнаружил проблему через health check — применил фикс автономно: перезапустил под, масштабировал ресурсы, починил конфиг.
- Управление инфраструктурой. Пишет и применяет Terraform, Ansible и Kubernetes-манифесты.
- Утренние брифинги. Ежедневная сводка: здоровье системы, календарь, задачи, прогноз погоды.
- Триаж почты. Сканирует входящие, помечает требующие действия, архивирует шум.
- Аудит безопасности. Регулярные проверки на hardcoded-секреты, привилегированные контейнеры, избыточные права доступа.
- Извлечение знаний. Обрабатывает заметки и экспорты переписок в структурированную базу знаний.
Настройка: четыре шага
Шаг 1. Конфигурация агента
Определите имя агента и его зону доступа в AGENTS.md:
## Infrastructure Agent
You are Reef, an infrastructure management agent.
Access:
- SSH to all machines on the home network (192.168.1.0/24)
- kubectl for the K3s cluster
- 1Password vault (read-only, dedicated AI vault)
- Gmail via gog CLI
- Calendar (yours + partner's)
- Obsidian vault at ~/Documents/Obsidian/
Rules:
- NEVER hardcode secrets — always use 1Password CLI or env vars
- NEVER push directly to main — always create a PR
- Run `openclaw doctor` as part of self-health checks
- Log all infrastructure changes to ~/logs/infra-changes.md
Ключевой момент: агент работает с реальными инструментами — SSH, kubectl, Terraform, Ansible. Это не симуляция, а полноценное управление инфраструктурой.
Шаг 2. Система крон-задач
Именно расписание делает эту систему полезной. Настройте HEARTBEAT.md:
## Cron Schedule
Every 15 minutes:
- Check kanban board for in-progress tasks → continue work
Every hour:
- Monitor health checks (Gatus, ArgoCD, service endpoints)
- Triage Gmail (label actionable items, archive noise)
- Check for unanswered alerts or notifications
Every 6 hours:
- Knowledge base data entry (process new notes)
- Self health check (openclaw doctor, disk, memory, logs)
Every 12 hours:
- Code quality and documentation audit
- Log analysis via Loki/monitoring stack
Daily:
- 4:00 AM: Nightly brainstorm (explore connections between notes)
- 8:00 AM: Morning briefing (weather, calendars, system stats)
- 1:00 AM: Velocity assessment (process improvements)
Weekly:
- Knowledge base QA review
- Infrastructure security audit
Крон-задачи — это главная ценность системы. Не ad-hoc команды, а регулярная автоматизация: health checks, триаж почты, брифинги, аудиты. Каждый день, без вашего участия.
Шаг 3. Безопасность (критически важно)
Дать AI-агенту SSH-доступ — это серьёзно. Без защитных мер агент с радостью захардкодит API-ключ прямо в код. Это не баг, а особенность: у LLM нет «инстинкта» к секретности, который есть у людей.
## Security Checklist
1. Pre-push hooks:
- Install TruffleHog or similar secret scanner on ALL repos
- Block any commit containing hardcoded keys, tokens, passwords
2. Local-first Git workflow:
- Use Gitea (self-hosted) for private code before GitHub
- CI scanning pipeline before any public push
- Human review required before main branch merges
3. Defense in depth:
- Dedicated 1Password vault for AI agent (limited scope)
- Network segmentation for sensitive services
- Daily automated security audits checking for:
* Privileged containers
* Hardcoded secrets in code or configs
* Overly permissive file/network access
* Known vulnerabilities in deployed images
4. Agent constraints:
- Branch protection: PR required for main
- Read-only access where write isn't needed
- All changes logged and auditable via git
Правило номер один: defense in depth. Pre-push хуки, локальный Gitea, CI-сканирование, ежедневные аудиты — каждый слой ловит то, что просочилось через предыдущий.
Шаг 4. Утренний брифинг
Каждое утро в 8:00 агент отправляет вам структурированную сводку:
### System Health
- CPU / RAM / Storage across all machines
- Services: UP/DOWN status
- Recent deployments (ArgoCD)
- Any alerts in last 24h
### Task Board
- Cards completed yesterday
- Cards in progress
- Blocked items needing attention
### Highlights
- Notable items from nightly brainstorm
- Emails requiring action
- Upcoming deadlines this week
Вы просыпаетесь, открываете Telegram (или email) — и уже знаете состояние всей инфраструктуры. Никакого «зайти и проверить».
Как работает самовосстановление
Цикл самовосстановления выглядит так:
- Детекция. Кроновая задача проверяет health endpoint сервиса. Ответ не 200 — проблема.
- Диагностика. Агент подключается по SSH, смотрит логи, определяет причину: OOM, краш, невалидный конфиг.
- Исправление. Применяет фикс: перезапуск пода, увеличение лимитов памяти, откат конфига, масштабивание.
- Верификация. Повторно проверяет health endpoint. Если сервис поднялся — логирует инцидент и фикс.
- Уведомление. Отправляет вам отчёт: что сломалось, что сделал, текущий статус.
Всё это происходит без вашего участия. Сервис упал в 3:17 ночи — агент обнаружил в 3:30 (проверка каждые 15 минут), починил к 3:32, и утром вы видите только запись в логе инцидентов.
Практические советы
- Начните с read-only. Сначала дайте агенту только мониторинг и отчёты. Когда убедитесь, что он корректно диагностируете — разрешите автоматические фиксы.
- Логируйте всё. Каждое действие агента должно быть записано в git или лог-файл. Инфраструктурные изменения — в
~/logs/infra-changes.md. - Используйте branch protection. Агент не должен иметь права пушить в main напрямую. Только через PR с ревью.
- Сегментируйте сеть. Чувствительные сервисы (базы данных, ключи) — в отдельном сегменте с ограниченным доступом.
- Постепенно расширяйте. Мониторинг → алертинг → автоматические рестарты → управление IaC → полная автономия.
Вдохновение
Этот кейс основан на опыте Nathan’а, который запустил AI-агента «Reef» на домашнем сервере. Reef управляет Kubernetes-кластером, имеет SSH-доступ ко всем машинам, интегрирован с 1Password и Obsidian (5000+ заметок). Агент запускает 15 активных крон-задач, 24 кастомных скрипта и автономно собирал и деплоил приложения.
Главный урок Nathan’а после утечки API-ключа в первый день: «AI-ассистенты с радостью захардкодят секреты. У них нет тех инстинктов, что есть у людей.» Его система безопасности (TruffleHog, локальный Gitea, CI-сканирование, ежедневные аудиты) — обязательна к прочтению для всех, кто пробует этот паттерн.
Скачать скилл (Markdown)
«`markdown
# Самовосстанавливающийся домашний сервер и управление инфраструктурой
Домашний сервер — это дежурство 24/7 для вашей собственной инфраструктуры. Сервисы падают в три ночи, сертификаты истекают незаметно, диск заполняется, а поды уходят в краш-луп — всё это пока вы спите или в отъезде.
Этот сценарий превращает OpenClaw в персистентный инфраструктурный агент с SSH-доступом, автоматическими крон-задачами и возможностью обнаруживать, диагностировать и исправлять проблемы до того, как вы о них узнаете.
## Проблема
Операторы домашних лабораторий и selfhosted-инфраструктуры сталкиваются с постоянной нагрузкой по обслуживанию:
— Health checks, мониторинг логов и алертинг требуют ручной настройки и внимания
— Когда что-то ломается, нужно подключиться по SSH, диагностировать и починить — часто с телефона
— Infrastructure-as-code (Terraform, Ansible, манифесты Kubernetes) нуждается в регулярных обновлениях
— Знания о вашей инфраструктуре живут у вас в голове, а не в документации
— Рутинные задачи (триаж почты, проверка деплоев, аудит безопасности) отнимают часы каждую неделю
## Что делает агент
— **Автоматический мониторинг здоровья**: кроновые проверки сервисов, деплоев и системных ресурсов
— **Самовосстановление**: обнаруживает проблемы через health checks и применяет исправления автономно (перезапуск подов, масштабирование ресурсов, исправление конфигов)
— **Управление инфраструктурой**: пишет и применяет Terraform, Ansible и Kubernetes-манифесты
— **Утренние брифинги**: ежедневная сводка о здоровье системы, календаре, погоде и статусе задач
— **Триаж почты**: сканирует входящие, помечает требующие действия, архивирует шум
— **Извлечение знаний**: обрабатывает заметки и экспорты переписок в структурированную базу знаний
— **Пайплайн публикации блога**: черновик → генерация баннера → публикация в CMS → деплой на хостинг — полностью автоматизировано
— **Аудит безопасности**: регулярное сканирование на захардкоженные секреты, привилегированные контейнеры и избыточные права доступа
## Необходимые навыки
— `ssh` доступ к машинам домашней сети
— `kubectl` для управления кластером Kubernetes
— `terraform` и `ansible` для infrastructure-as-code
— CLI `1password` для управления секретами
— CLI `gog` для доступа к почте
— Доступ к Calendar API
— Obsidian vault или директория заметок (для базы знаний)
— `openclaw doctor` для самодиагностики
## Как настроить
### 1. Основная конфигурация агента
Назовите агента и определите его зону доступа в AGENTS.md:
«`text
## Infrastructure Agent
You are Reef, an infrastructure management agent.
Access:
— SSH to all machines on the home network (192.168.1.0/24)
— kubectl for the K3s cluster
— 1Password vault (read-only for credentials, dedicated AI vault)
— Gmail via gog CLI
— Calendar (yours + partner’s)
— Obsidian vault at ~/Documents/Obsidian/
Rules:
— NEVER hardcode secrets — always use 1Password CLI or environment variables
— NEVER push directly to main — always create a PR
— Run `openclaw doctor` as part of self-health checks
— Log all infrastructure changes to ~/logs/infra-changes.md
«`
### 2. Система автоматических крон-задач
Главную ценность этой настройки составляет система запланированных задач. Настройте в HEARTBEAT.md:
«`text
## Cron Schedule
Every 15 minutes:
— Check kanban board for in-progress tasks → continue work
Every hour:
— Monitor health checks (Gatus, ArgoCD, service endpoints)
— Triage Gmail (label actionable items, archive noise)
— Check for unanswered alerts or notifications
Every 6 hours:
— Knowledge base data entry (process new Obsidian notes)
— Self health check (openclaw doctor, disk usage, memory, logs)
Every 12 hours:
— Code quality and documentation audit
— Log analysis via Loki/monitoring stack
Daily:
— 4:00 AM: Nightly brainstorm (explore connections between notes)
— 8:00 AM: Morning briefing (weather, calendars, system stats, task board)
— 1:00 AM: Velocity assessment (process improvements)
Weekly:
— Knowledge base QA review
— Infrastructure security audit
«`
### 3. Настройка безопасности (критически важно)
Это не подлежит обсуждению. Перед тем как дать агенту SSH-доступ:
«`text
## Security Checklist
1. Pre-push hooks:
— Install TruffleHog or similar secret scanner on ALL repositories
— Block any commit containing hardcoded API keys, tokens, or passwords
2. Local-first Git workflow:
— Use Gitea (self-hosted) for private code before pushing to public GitHub
— CI scanning pipeline (Woodpecker or similar) runs before any public push
— Human review required before main branch merges
3. Defense in depth:
— Dedicated 1Password vault for AI agent (limited scope)
— Network segmentation for sensitive services
— Daily automated security audits checking for:
* Privileged containers
* Hardcoded secrets in code or configs
* Overly permissive file/network access
* Known vulnerabilities in deployed images
4. Agent constraints:
— Branch protection: PR required for main, agent cannot override
— Read-only access where write isn’t needed
— All changes logged and auditable via git
«`
### 4. Шаблон утреннего брифинга
«`text
## Daily Briefing Format
Generate and deliver at 8:00 AM:
### Weather
— Current conditions and forecast for [your location]
### Calendars
— Your events today
— Partner’s events today
— Conflicts or overlaps flagged
### System Health
— CPU / RAM / Storage across all machines
— Services: UP/DOWN status
— Recent deployments (ArgoCD)
— Any alerts in last 24h
### Task Board
— Cards completed yesterday
— Cards in progress
— Blocked items needing attention
### Highlights
— Notable items from nightly brainstorm
— Emails requiring action
— Upcoming deadlines this week
«`
## Ключевые выводы
— **«Не верится, что у меня теперь самовосстанавливающийся сервер»**: агент может выполнять команды SSH, Terraform, Ansible и kubectl для исправления проблем инфраструктуры до того, как вы узнаете о проблеме
— **AI будет захардкодит секреты**: это главный риск безопасности. Агент с радостью вставит API-ключ прямо в код, если вы не наложите ограничения. Pre-push хуки и сканирование секретов обязательны
— **Local-first Git обязателен**: никогда не позволяйте агенту пушить напрямую в публичные репозитории. Используйте приватный экземпляр Gitea как промежуточную зону с CI-сканированием
— **Крон-задачи — это настоящий продукт**: запланированная автоматизация (health checks, триаж почты, брифинги) приносит больше ежедневной пользы, чем ad-hoc команды
— **Извлечение знаний со временем растёт**: обработка заметок, экспортов переписок и писем в структурированную базу знаний становится всё ценнее — один пользователь извлёк 49 079 атомарных фактов только из своей истории ChatGPT
## Вдохновение
Этот сценарий основан на подробном обзоре Нейтана [«Everything I’ve Done with OpenClaw (So Far)»](https://madebynathan.com/2026/02/03/everything-ive-done-with-openclaw-so-far/), где он описывает своего OpenClaw-агента «Reef», работающего на домашнем сервере с SSH-доступом ко всем машинам, кластером Kubernetes, интеграцией с 1Password и Obsidian vault с 5000+ заметок. Reef запускает 15 активных крон-задач, 24 кастомных скрипта и автономно собирал и деплоил приложения, включая UI для управления задачами. Урок, который Нейтан выучил после утечки API-ключа в первый день: «AI-ассистенты с радостью захардкодят секреты. Иногда у них нет тех инстинктов, что есть у людей.» Его система безопасности defense-in-depth (pre-push хуки TruffleHog, локальный Gitea, CI-сканирование, ежедневные аудиты) — обязательна к прочтению для всех, кто пробует этот паттерн.
Также упоминается на [OpenClaw Showcase](https://openclaw.ai/showcase), где `@georgedagg_` описал похожий паттерн: мониторинг деплоев, ревью логов, исправление конфигов и отправка PR — всё это во время прогулки с собакой.
## Ссылки
— [Полный обзор Нейтана](https://madebynathan.com/2026/02/03/everything-ive-done-with-openclaw-so-far/)
— [Документация OpenClaw](https://github.com/openclaw/openclaw)
— [TruffleHog (сканирование секретов)](https://github.com/trufflesecurity/trufflehog)
— [K3s (лёгкий Kubernetes)](https://k3s.io/)
— [Gitea (самостоятельный Git)](https://gitea.io/)
— [n8n (автоматизация рабочих процессов)](https://n8n.io/)
«`