Прежде всего сформировался список программ:
- NextCloud – по сути заменяет Google Docs и Dropbox, центр домашнего облака
- Vaultwarden – хранение паролей
- Dushy – стартовая страница со списком запущенных локально приложений
- Gitea – центр домашней разработки (Git + CICD)
- Sonarqube – проверка качества кода
- Docker registry – хранить свои собранные приложения
- Uptime Kuma – следит работают ли указанные сайты или нет
- icloudpd – загрузка фоток с iPhone для бекапа
- metube – загрузка видое с Youtube для бекапа
- minidlna – просмотр загруженных видео на ТВ
- pyload / qbit – загрузка больших файлов, часто со своего компьютера неудобно на ночь оставлять
- LB (любой, сейчас Traefik) – получение https сертификатов и открытие сервиса вовне (чтобы работало и без входа в домашний VPN извне).
Остались требования:
- данные должны быть локальны, чтобы не зависеть от внешних обстоятельств
- данные и их сохранность – главный приоритет
- должно быть бесшумно, при этом иногда может быть шумно (когда идет работа и резервные копии). Шумные сервера (все где есть вентилятор и он полностью не выключается, а это все с вентилятором) должны ночью сами выключаться.
- минимальные требования к обслуживанию
- никаких внешних облаков (ни для установки системы и регистрации, ни для чего другого) – иначе непонятно зачем все локально ставить
- ничего страшного, если денек что-то работать не будет – это все-таки дом, а не транснациональная корпорация (если вдуматься, то сервера играют вспомогательную функцию, основное на ноутбуках/мобильных устройствах). Так что те же перезагрузки или выключения по расписанию – нормально.
Это все распределяется на следующие устройства:
- backup – хранилище с доступом по sftp и синхронизацией по rsync, локально есть снепшоты файловой системы для истории бекапов. Плюс, запущены приложения для скачивания: metube, minidlna, pyload / qbit. На базе TrueNAS и Beelink U59 (16Гб ОЗУ, N5095 4 cores, 1x 4Tb HDD для данных, ZFS). Включается по требованию, обычно где-то раз в неделю для резервных копий.
- backup2 – хранилище с доступом по sftp и синхронизацией по rsync, копия backup, находится физически в другом месте для надежности хранения резервных копий. Коробочка Zyxel NAS326 + 2 x 4Tb HDD (в зеркале) – саму коробку не рекомендую, но уж что есть.
- router – машинка на базе Orange Pi R1 Plus LTS (RK3328, 1Gb RAM) заменяет часть функций WiFi роутера (DNS, VPN, домашняя страничка (Dashy), LB (Traefik), Uptime Kuma) – в целом, если бы WiFi-роутер был хороший, то этого бы не потребовалось.
- vpe – сервер виртуальных машин для экспериментов на базе Proxmox и GK3 Pro (16Gb RAM, N5105 4 cores). Он не бекапится. Обычно выключен, включается под эксперименты, потом выключается. Есть идея, что можно систему перенести на внешний жесткий диск и не занимать компьютер, но пока что смысла нет, т.к. компьютеров сейчас больше, чем нужно оказалось. Тут же можно и с Kubernetes поиграться, если нужно. Потенциально можно переставить на чистый MicroOS + Cockpit, но Cockpit пока что немного неудобнее, так что смысла нет.
- cloud – основные приложения для дома (NextCloud, Vaultwarden, icloudpd). MicroOS на BMax B1 Plus (N3350, 6Gb RAM) + 512Гб SSD. Безвентиляторный, постоянно работает.
- dev – основные приложения для разработки (Gitea, Sonarqube, Docker registry, тестовое окружение своих приложений). MicroOS на U59 (16Гб ОЗУ, N5095 4 cores). Включается под задачи: и не каждый день что-то дома программирую, а тем более не всегда нужен еще и сервер для этого.