На чём всё это держится
Домашний сервер интересен не количеством сервисов, а тем, переживёт ли он отключение света, смерть диска и отпуск владельца. Здесь — про это.
Железо
Один компактный неттоп держит весь стенд: четыре десятка контейнеров, распознавание речи и обработку фото. Потребление — как у лампочки.
Старый диск — библиотека и архив, новый — свежие загрузки. Разделение спасает: сбой одного не уносит всё сразу.
Сервисы разведены по изолированным сегментам: умный дом не видит загрузки, а гостевые устройства — внутренние панели.
Колонка со словом активации и распознавание речи на сервере. Запись голоса не покидает дом.
Четыре слоя
Сверху вниз: как запрос от человека доходит до данных и что его страхует на каждом этаже.
Единый вход прикрывает все внутренние панели: один логин раз в месяц вместо десятка паролей. Наружу торчит минимум необходимого, остальное доступно только из дома.
Каждый сервис — контейнер с зафиксированной версией. Весь стенд описан одним файлом конфигурации и поднимается одной командой на чистой машине.
Конфигурации, базы и медиа разнесены по слоям с разной ценностью. То, что нельзя потерять, копируется ночью; то, что можно скачать заново, — нет.
Нагрузка, температура, место, здоровье дисков и доступность сервисов под постоянным контролем. Проблема приходит уведомлением раньше, чем её замечает человек.
Что держит систему живой
Домашний сервер ломается не эффектно, а тихо: кончилось место, отвалился диск, после перезагрузки не поднялся контейнер. Против каждого сценария — свой сторож.
Состояние обоих HDD проверяется постоянно — чтобы менять диск по предупреждению, а не по факту потери данных.
Конфигурации и базы копируются по расписанию. Восстановление проверено на практике, а не только описано.
После сбоя питания сервер поднимается сам и в правильном порядке — диски успевают подключиться раньше сервисов.
Место на дисках, упавший сервис, зависшая загрузка, вышедшее обновление — всё приходит в один канал.
Система сообщает о новых версиях, но обновляется по решению человека — со снимком данных перед миграцией.
Каждая поломка документируется: симптом, причина, лечение. В реестре больше сотни записей — вторую встречу с той же проблемой она стоит минут, а не вечера.
Проверить самому
Публичная страница статуса показывает в реальном времени, что сейчас работает.