Зачем?
Со временем пришло осознание 2х моментов:
удобно использовать такие облачные сервисы как Google Docs и DropBox
не хочется при этом зависеть от облачных провайдеров (дорого, проблемы сохранности данных, проблемы неожиданности отключений и изменений и тп)
При этом в интернетах любят термин Home Lab, но не хочется экспериментировать. Это должно быть что-то вроде wifi-роутера: просто работает и на саму систему особо внимания не обращаешь. При этом должно масштабироваться (как добавление новых wifi-точек в mesh-сеть): поэтому облако.
Какой софт?
Для домашних целей:
NextCloud -- основная система. Как раз заменяет Google Docs, DropBox и другое.
BitWarden -- хранение паролей.
PhotoPrism -- попробовать, может там фотки удобнее хранить, чем в NextCloud.
Outline -- аналог Notion, попробовать.
Кому-то могут быть еще интересны программы для торрентов и просмотра, но я как-то этим не увлекаюсь.
Умный дом:
Home Assistant -- основная система умного дома.
Хобби по разработке:
Gitea -- git-репозитарий.
Drone -- CICD для Gitea.
Docker registry.
Uptime Kuma -- проверяет, что сервисы онлайн.
При этом решил не переносить почтовый сервер домой: уж больно с ним много мороки, а из писем там только транзакционные и реклама. Оставил на своем домене на стороннем сервисе.
Так же статичный сайт сделал на VPS для копии моих публикаций на других сайтах. В теории, можно было бы и дома, но лучше VPS -- не дорого и никакого vendor lock.
Коробочные решения
Как ни странно, коробочные решения существуют. Почему-то они называются NAS-сервер или сетевое хранилище. По анализу больше всего понравились устройства Synology, но купил почему-то ZyXEL NAS326 (не рекомендую).
Из программных есть:
CasaOS v0.3.6 -- примерно, что хочется, но версия реально еще очень сырая.
Umbrel v0.5.1 -- похожая штука от крипто-фанатов для крипто-фанатов, тоже очень сырая, не отключается tor-нода (что само по себе может быть опасно, не уверен).
Portainer v2.15 -- вроде бы хорошая система, но слишком гиковская.
Системы виртуализации (ProxMox и другие варианты) исключил, т.к. хочется коробочное решение, а не конструктор.
Конечно, захотелось не просто домашние вещи, но еще и что-то для программирования (git, cicd, ...). Это, в принципе, есть в CasaOS/Umbrel, но ждать несколько лет не хочется. Поэтому подобную систему потихоньку пишу. Как будет что показать -- выложу.
Дом как дата-центр
Есть устойчивое мнение, что это как-то ненадежно. У меня сложилось обратное мнение:
Электричество -- перебои бывают, но весьма редко (не чаще раза в год и то на несколько минут). Как-то раз отключили на несколько часов (перегорел трансформатор) -- замечательно провели время. В связи с этим, не вижу смысла в источниках бесперебойного питания: вероятность что-то сломать низкая, как восстановить понятно, если что. Да и большинство пользовательских устройств на своих батарейках (ноутбуки и телефоны).
Интернет -- проблемы бывают почаще, но обычно на несколько минут после 12 часов. Такое не очень подходит для сайта, но для остальных систем более чем. Дополнительно есть автоматическое переключение на 4G и можно вручную получить интернет с телефона -- 3 вполне независимых источника.
Физическая безопасность -- мне прежде всего интересует потеря данных. Да, нужно делать резервные копии в другие местах. При этом те же аналоги DropBox и git синхронизируются на множество устройств даже без этого.
На практике, когда путешествовал, довольно часто подключался к дому и ни разу не заметил проблем с доступностью.
Отдельно скажу, что в процессе понял одно из критичных требований: нулевой шум. Просто так повелось, что ноутбуки у меня обычно работают бесшумно, а отдельного помещения под домашнее облако не предполагается. Оно располагается где-то рядом с рабочим местом на полке. Это налагает ограничения на железо и софт, но вполне реально.
Железо
Сетевой уровень:
Kinetic Lite -- одна из основных железок: принимает интернет по проводу, переключает на запасной wifi (другой роутер с 4г модемом), DCHP, DNS, NTP, VPN-сервер (подключение мобильных клиентов), проброс портов наружу, межсетевой экран. Wifi отключен, т.к. mesh делают другие устройства (уже были куплены). Не нравится как DNS настраивается (записи для своих сервисов) -- возможно будет другое устройство реализовывать.
Tenda AC1200, несколько штук, только 1 проводом подключен в основной роутер -- реализует "бесшовную" Wifi-сеть. Работает, да и ладно.
TP-Link TL-SG108E -- гигабитный свитч домашнего облака, понравился (дешево и даже есть возможность что-то настроить при желании).
Сервера:
Beelink U59 (4x2.9, 16Гб ОЗУ, 512Гб ССД), 3шт -- основные машинки. Брал для Kubernetes, но с ним включают вентиляторы свои.
Raspberry Pi 4 (8Гб ОЗУ, 64Гб карточка) -- было и не использовалось. Сейчас выполняет роль KVM. Потом, скорее всего, будет в роли NAS (есть внешняя коробка на 2 диска с дисками). Возможно, еще будет Zigbee-свисток для умного дома на этой машинке.
ZyXEL NAS326 с 2 дисками по 4Тб -- пока что выключен, скорее всего продам.
Негативный опыт
ZyXEL NAS326 -- устаревшее железо, устаревший софт, всегда аппаратно работает вентилятор.
MikroTik RB941-2nD (hAP lite) -- слишком сложная и необычная ОС (не хочется становиться админом именно MikroTik для даже довольно простых сценариев), нестабильная ОС (в частности, у меня бекап настроек виснет и поддержка не помогла), требует Windows (нужно использовать десктопную программу довольно часто), слабое железо (openwrt не поставишь современный, а старый непонятно безопасно ставить или его уже не поддерживают).
Raspberry Pi 4 -- своих денег не стоит, лучше брать какие-нибудь китайские x86 машинки.
Одно время оборудование стояло отдельно без проводной связи с основным роутером. Дополнительный роутер выступал в качестве wifi-клиента и в свитч домашнего облака отдавал интернет. В большинстве случаев работало нормально, но иногда терялось соединение, затем сервера теряли DHCP и приходилось на это все обращать внимание. При этом все домашние клиенты беспроводные и это хорошо работает.
Kubernetes -- мне нравится для работы, но для дома он в простое делает слишком много вещей из-за которых включаются вентиляторы.
Prometheus -- аналогично Kubernetes.
Time Machine -- как-то очень сильно нагружает ноутбук и каждый день много копирует. В итоге, не понравилось. Лучше условный DropBox и git, а не пытаться всю OC копировать.
Что дальше?
У меня есть серия видео где примерно это же самое рассказано, но более подробно. Через какое-то время опубликую как в итоге поставил и настроил софт.