
HomeLab
1 пост
Если бы пол года назад, когда я ставил свою первую операционку на домашний сервер я бы прочитал этот пост - я бы принял иное решение и сейчас мой сервер выглядел по другому. С другой стороны - ничего принципиально нового в посте нет, вся информация давно есть на ютубе, реддите и в чате гпт - нужно было просто спросить. Разные люди по разному воспринимают понятие "домашний сервер" - для кого-то это это коробочка NAS, для кого-то просто виндовый компьютер на антресоли. В рамках этого поста я под домашним сервером буду иметь в ввиду физическую машину с операционной системой линукс. И поговорим о том, какой же дистрибутив можно поставить и в чем отличие.
Очень условно я классифицировал серверные операционные системы исходя из уровня подготовки и целей - и у меня получилось три типа.
- Простые = self-hosting + NAS + лёгкие UI
- Средние = виртуализация + более гибкая настройка
- Продвинутые = оркестрация, облачные сценарии, "мини-дата-центр"
Простые решения (для начинающих / low-entry).
Как следует из названия - это самые простые варианты, они (почти) не требуют знания линукс, имеют удобный веб интерфейс и возможность установки сервисов в несколько кликов. На рынке представлено множество таких решений, самые известные это: YunoHOST, CasaOS, Cosmos Cloud, Umbrel, Tipi, Sandstorm, unraid(!платновое), FreedomBox, cloudron, EmbassyOS
Отличия у них минимальны (например у embassy и FreedomBox чуть больше фокуса на приватность, интерфейс YunoHOST немного устарел - но зато самый большой встроенный магазин приложений), а общее у них одно - минимальный порог входа. Если вы новичок без технического бекграунда - с помощью этих решений вы легко можете выстроить всю инфраструктуру.
Интерфейс Космос Клауд. Можно потыкать тут https://cosmos-cloud.io/cosmos-ui/
Некоторые относят к операционным системам этого уровня и OpenMediaVault (OMV) с TrueNAS SCALE (и я купился на это, первая моя операционка как раз именно OMV) - но я с ними не согласен - это скорее операционка именно для NAS - если вы хотите ставить дополнительные сервисы - это возможно, но не интуитивно.
В общем для начинающего, или для "поставил, настроил и забыл" - я бы советовал взять в качестве ОС что то из вышеперечисленного.
А если по%баться? или средний уровень (для энтузиастов / medium-entry)
Вторая группа операционных систем несколько сложнее, требует базового понимания Linux, сетей, Docker, но и дают больше контроля. Я бы посоветовал эту группу себе энтузиастам, которым процесс важнее чем результат.
К этой группе я отношу Proxmox VE, XCP-ng, Harvester, NixOS, DietPi (тут я сразу отмечу, что сам тестировал и работал только с Proxmox VE, про остальное только читал. Поэтому буду рассказывать на его примере).
У проксмокса нет готового каталога приложений, которые можно поставить в один клик (хотя есть отличный каталог пользовательских скриптов установки, 300+ проверенных сервисов, которые устанавливаются через одну строчку) - это скорее универсальный хост для виртуализации. Зато поднять виртуальную машину с нужными параметрами, изменять эти параметры прям на ходу или использовать никогда не было так просто. Еще у проксмокса есть интересный формат контейнеров - LXC, я это воспринимаю как нечто среднее между виртуалкой и контейнером. Используется общее ядро, а контейнеры используют изолированное окружения. В результате эти контейнеры потребляют меньше ресурсов, чем виртуалка - но обладают большей степенью изолированности, чем докер контейнеры.
UI проксмокса чуть сложнее чем интерфесы ОС первого типа - но все еще существенно проще консоли, на мой взгляд.
В общем если бы я начинал сейчас - вместо OMV я бы поставил себе два Проксмокса.
Или три? Продвинутые решения (для экспертов / high-entry)
Последняя группа - это решения для профессионалов. Я не пробовал ничего из этого (пока?), поэтому коротко опишу как я вижу это со стороны и буду рад если кто то расскажет подробней.
VMware ESXi – классика корпоративной виртуализации (сейчас менее актуальна из-за Broadcom).
Kubernetes (k3s, MicroK8s, TalosOS) – для масштабирования контейнеров, требует глубоких знаний.
OpenShift OKD – корпоративный Kubernetes с дополнительным уровнем абстракции.
OpenStack – облачная платформа IaaS (виртуальные машины, сети, сторидж).
Nomad (от HashiCorp) – оркестрация контейнеров и VM, альтернатива Kubernetes.
Bare-metal Linux (Arch, Debian, Ubuntu, Gentoo) – "чистая" установка и ручная настройка всех сервисов.
FreeBSD / NetBSD / OpenBSD – более редкие, но мощные для сетевых и серверных задач.
Кажется что это решения, для маленького дата-центра дома. Явно не для всех - но если вы, например, делаете свой стартап, и хотите хостить его из дома - то это ваш выбор. Чат гпт подсказывает мне, что если я поставлю себе третий сервер - я смогу сделать кластер, который будет автоматически масштабироваться под нагрузку и работать даже в случае выхода из строя одной машины. Но я честно пока в душе не знаю, зачем мне это (*но очень надо)
На сегодня вероятно все, задавайте вопросы если есть, рассказывайте что стоит у вас, отдельно было бы интересно послушать людей с третьей группой операционок.
Предыдущий пост на удивление зашел, оказывается на Пикабу весьма много владельцев NAS, домашних серверов и даже целых серверных шкафов, и еще больше людей, которые интересуются тематикой селфхоста и умного дома. В комментах было задано куча вопросов, и план по постам в целом сформирован.
Дисклеймер:
Я уже говорил раньше что я не специалист, а энтузиаст, поэтому ошибался, ошибаюсь и буду ошибаться порой, на Пикабу много людей продвинувшихся в изучении дальше - буду рад если они будут поправлять ошибки и советовать лучшие решения. Все дальнейшие посты - лишь личный опыт.
Что было?
Сейчас уже не вспомню, когда я впервые загорелся идеей умного дома, но вероятно "Железный человек" с Робертом Дауни Младшим и его Джарвис произвел на меня неизгладимое впечатление. Останавливало меня лишь одно - что бы сделать умный дом - нужно было иметь хоть какой то, а первые 30 лет жизни я мотылялся по съёмным квартирам. Поэтому первым решением для меня, как и для многих стал "съёмный" дом на базе умной колонки Яндекс Алиса. Технически он состоял из:
датчик движения в кухне, туалете, комнате
умная лампочка на кухне, туалете, комнате
умная колонка Алиса
И несколько сценариев, позволяющих автоматически включать свет при походе в туалет или выключать при отсутствии движения. Очень удобно - и в качестве стартовой точки я до сих пор могу порекомендовать такой набор - при минимальном геморое он дает заметный прирост в комфорте. Вторая съёмная квартира обогатила дом датчиками открытия окон и дверей, несколькими умными разетками, куда было воткнуты телевизор и приставка, сяомовской видеокамерой и датчиком дыма. Все это все еще работало на основе колонки Яндекса и я был доволен.
Муки выбора.
В процессе переезда весь набор "Яндекса" оказался потерян, и обосновавшись на новом месте, я решил все начать заново. Яндекс к этому времени стал меня немного ограничивать - не все устройства сяоми конектились нормально, интернет был не всегда стабилен, а яндекс колонки мини периодически начинала самопроизвольно увеличивать и уменьшать громкость с характерным похрустыванием. Поэтому, немного погуглив, я решил что пора поменять стек, и полез изучать что есть на рынке. Требования, которые казались мне важными я выделил так:
- Локальное управление (интернет штука такая, то есть то нет)
- Приватность (не хотелось зависеть от облаков Яндекса или Гугла, большой брат конечно и так следит - но зачем облегчать ему жизнь)
- Максимальное разнообразие устройств (Zigbee, Z-Wave, Matter, MQTT, Bluetooth, Wi-Fi и устройства различных брендов)
- Гибкость автоматизаций (я не программист и не хотелось бы им становится, хотя базовая техническая грамотность присутствует)
Выбор естественным образом пал на Home Assistant, и так в моем доме появился первый линукс сервер.
На нем я завел Debian, поставил Home Assistant supervised, подключил такие же лампочки, Алисы, датчики, RF и IR пульты управления техникой и прочее. Подробно описывать процесс установки не буду - он весьма подробно, с картинками и пояснениями описан у них на сайте, лишь обозначу моменты, которые показались важными:
- Несмотря на то что у HA огромное количество (более 2500) нативных интеграций с различным оборудованием - многих вещей там все таки не хватает. Поэтому первое, что я сделал после установки HA - добавил в него HACS - это такой комьюнити каталог пользовательских репозиториев, различных полезных интеграций, тем для оформления и карточек для Lovelace. Что бы поставить его нужно чутка повозится, но процесс подробно и понятно описан тут, если будут какие то вопросы - можете задавать в комментариях.
- С этого года HA убрали подержку режима Home Assistant supervised и оставили только два варианта - запуск Home Assistant в контейнере и полноценную операционную систему HA OS
Так как контейнерная версия не дает возможность использовать аддоны, а без аддонов большая часть пользы теряется - советую ставить HAOS на виртуальной машине (или на реальной, как удобней)
В разделе аддонов есть множество полезных штук, в принципе их достаточно что бы сделать из сервера умного дома полноценный домашний сервер - упавлять медиа, ДНС, бекапами, и прочим.
Но если там не нашли нужного - поищите в HACS
Наиболее полезные интеграции в HACS для меня оказались
- YandexStation - позволяет управлять яндекс станциями и другими устройствами из умного дома яндекса через HA
- YandexDialogs - обратный процесс, позволяет управлять любыми устройствами умного дома HA через голосовой интерфейс Яндекс Алисы
- Passive BLE Monitor integration - позволяет подключить к HA почти любое устройство, у которого есть блютус.
На этом, пожалуй, мой писательский запал иссяк, и продолжение напишу позже. Пока писал - подумал что было бы интересно еще рассказать о:
- какие проблемы я поимел когда делал умный дом уже в своем собственном доме
- как единичный HA вырос до двух серверов с кучей локальных ресурсов
- как настроить внешний доступ к внутренним ресурам максимально удобно и безопасно
Еще в планах: (буду рад если кто то поделится опытом, как это сделать)
- настроить систему видеонаблюдения frigate с google coral
- разобраться с системой автоматизации n8n
stay tuned, как говорится)
Даже странно, что такого сообщества на Пикабу раньше не существовало. Штош - теперь есть.
Вводное слово:
Selfhost - это когда ты берешь привычные облачные сервисы и запускаешь их у себя: на домашнем сервере, мини-ПК или даже на старом ноутбуке. Почта, медиа, облако, умный дом, VPN - всё это можно держать под своим контролем.
Зачем это нужно? У кого-то это вопрос приватности, у кого-то — экономии. Для многих это просто удовольствие от того, что твоя система работает так, как ты её сам собрал и настроил.
Будет здорово, если получится собрать тут людей, интересующихся темой домашних серверов, делиться новостями, находками, инструкциями и личным опытом. Ну это программа максимум. А программа минимум - буду сам тут описывать свой путь по граблям.
Добрый день. Столкнулся с лимитом на игнорм листе
"Достигнут предел количества правил 2600"
Не очень понятно чем вызвано такое ограничение, но после того как минусы перестали влиять на формирование ленты - игнор - это единственное что спасало. Расширьте пожалуйста игнор лист хотя бы на пару тысяч.
Спасибо.
Не для всех она закончилась удачно