Домашний сервер, Matrix-чат с близкими и личная автоматизация через OpenClaw

Домашний сервер, Matrix-чат с близкими и личная автоматизация через OpenClaw

Я давно ставил перед собой задачу собрать домашний сервер. Сначала это было увлечение, но теперь он стал моим основным инструментом, без которого невозможно представить работу.

Основные функции сервера

  • Резервное копирование всех виртуальных машин по расписанию
  • Хостинг пет-проектов
  • Тестовые рабочие стенды
  • Мониторинг серверов через Grafana и Prometheus
  • Хостинг карт OpenStreetMap
  • Личная автоматизация через OpenClaw с управлением из Matrix
  • Семейный чат в Matrix
  • Домашний кинотеатр на Jellyfin
  • Личное облако для данных
  • Эксперименты с новыми сервисами и версиями ПО

Аппаратная конфигурация

Я предпочитаю брать железо с запасом. Мой текущий сервер:

  • Материнская плата — ASUS WS C246 PRO
  • Процессор — Intel Xeon E-2276G, 3.8 GHz
  • Оперативная память — Samsung 64 ГБ DDR4 ECC 2666
  • Видеокарта — Nvidia RTX 2060
  • Накопители — 8 ТБ HDD, 1 ТБ NVMe, 1 ТБ SSD

Видеокарта оказалась полезной только для транскодинга видео. Для LLM её мощности недостаточно, а остальные задачи решаются встроенным в CPU графическим ядром.

Резервное копирование

Для бэкапа самого сервера я использую NAS Synology DS220+ с двумя дисками в RAID. Это позволяет восстановить данные, даже если основной сервер выйдет из строя.

От Proxmox к Ubuntu Server

Сначала я использовал Proxmox для виртуализации, но со временем понял, что это замедляет работу. Управление виртуальными машинами и контейнерами, особенно с пробросом GPU, требовало слишком много усилий. В итоге я перешёл на Ubuntu Server 24.04 LTS, который использую до сих пор.

Организация данных по "температуре"

Я разделил хранилище на уровни в зависимости от скорости доступа и важности данных:

  • 2× NVMe по 500 ГБ — на одном система, на втором папка /datahot с PostgreSQL, ClickHouse и другими БД, требующими быстрого доступа.
  • 1× SSD 2 ТБ — папка /datawarm, там работает отдельный инстанс PostgreSQL для OpenStreetMap.
  • 2× HDD по 4 ТБ в RAID1 — папка /datacold, хранит бэкапы и критически важные данные.
  • Synology NAS — папка /dataice, куда копируются чувствительные данные через крон-скрипты.

Такой подход напоминает стратегию облачных провайдеров. Я не доверяю SSD из-за их склонности к внезапному выходу из строя, поэтому выбрал более сложную, но надёжную архитектуру.

Базы данных

Я не использую контейнеризацию для БД. На сервере установлены bare-metal инстансы PostgreSQL и ClickHouse. Я создаю отдельных пользователей и базы под нужды каждого сервиса — так проще управлять и контролировать доступ.

ClickHouse оказался особенно прожорливым к оперативной памяти. Если вы работаете с большими объёмами данных, рекомендую брать больше RAM.

Веб-сервер и проксирование

Используется Nginx как веб-сервер и обратный прокси. Поскольку я часто нахожусь вне локальной сети, некоторые сервисы доступны через интернет. Это позволяет подключаться к ним, даже если нет доступа к домашнему VPN.

Резервное копирование виртуальных машин

Мой стек — PHP / Laravel / PostgreSQL, и у меня десятки виртуальных машин. Чтобы централизованно сохранять и файлы, и базы данных, я использую:

  • laravel-backup-server — еженедельные бэкапы файловой системы, особенно ценно сохранение папок, исключённых из git (изображения, видео и т.д.).
  • laravel-backup — ежедневные бэкапы PostgreSQL.

Решение не имеет веб-интерфейса, всё настраивается через консоль. За каждый бэкап приходит email-уведомление — это уже неоднократно спасало мои данные.

Хостинг пет-проектов

При появлении новой идеи я использую отлаженный процесс, иногда с помощью Cursor или Claude Code:

  • mkdir /var/www
  • laravel new example-app или git clone
  • npm install & npm run build & composer install
  • nano /etc/nginx/sites-available/example, включение сайта и получение SSL через certbot --nginx -d example.com

Недавно я создал бота для управления Яндекс Трекером. Он работает на дешёвой китайской ИИ-модели, создаёт задачи, генерирует тексты релизов и помогает в повседневной рутине.

Тестовые рабочие стенды

Процесс аналогичен развёртыванию пет-проектов, но с импортом обезличенных данных из рабочих баз. Это позволяет тестировать изменения в безопасной среде.

Мониторинг серверов

Используется стек Prometheus / Grafana / Node Exporter. Prometheus и Grafana установлены на основном сервере, Node Exporter разворачивается на каждой VM. В Grafana настроены алерты в Matrix и Telegram — например, при нехватке места на диске или аномальной нагрузке.

OpenStreetMap

Для базы OSM выделен отдельный SSD объёмом более 1 ТБ. Импорт в PostgreSQL выполняется стандартными инструментами. Это не только полезно, но и интересно — можно анализировать распределение школ, общественных туалетов и других объектов по миру с помощью сложных SQL-запросов.

Личная автоматизация через OpenClaw

OpenClaw я запускаю в Docker-контейнере или на отдельном VPS. Он решает несколько задач:

  • Проверка балансов — ежедневный крон-скрипт проверяет состояние счетов (хостинг, SMS-сервисы и т.д.). Если баланс критически низкий, приходит уведомление. Для сервисов без API используется автоматизация через Chrome и Playwright.
  • Погода — бот присылает утреннюю сводку с учётом условий для бега и велосипеда.
  • Персональный дайджест по здоровью — напоминания о тренировках, проверка расписания фитнес-центра, массажа и т.д.

OpenClaw поддерживает разные каналы связи, включая Matrix. В качестве ИИ-модели я рекомендую Minimax 2.7 — она мощная и экономичная.

Matrix-чат для близких

После блокировок популярных мессенджеров я перешёл на Matrix / Element / Synapse. Семейная и дружеская переписка теперь идёт там. Интерфейс близок к привычным мессенджерам, хотя производительность ниже. Все данные хранятся в моей PostgreSQL-базе и участвуют в общей системе бэкапов.

Домашний кинотеатр на Jellyfin

Я пробовал Plex, но не привык. Jellyfin оказался удобнее — у него есть клиенты для всех устройств. Фильмы хранятся на сервере, а транслируются по локальной сети на телевизор. При необходимости можно скачать контент на телефон и смотреть оффлайн.

Текущие вызовы

Из-за блокировок и ограничений даже в open-source проектах возникают фантомные ошибки. Простые задачи, вроде apt update, теперь могут не работать. DevOps-инструменты стали излишне сложными, что усугубляет ситуацию.

Мне помогает подход bare-metal с минимальной контейнеризацией. Это снижает зависимости и упрощает диагностику.

Планы на будущее

Я не доволен Nextcloud — он слишком медленный и перегруженный. Seafile не хватает функциональности. Планирую продолжить поиски альтернативы для личного облака.

Также хочу развернуть сервис для хранения и обработки фотографий. Интересует Immich, но пока не ставил.

Развиваю ИИ-автоматизацию для CTO-задач: управление трекером через мессенджер, отчётность перед руководством. Впереди — много интересной работы.

Эта статья — не инструкция, а рассказ о моём трёхлетнем опыте. Это взгляд на цифровую независимость и автоматизацию. Буду рад обсудить подходы и узнать о вашем опыте.

Читать оригинал