Зачем самостоятельно что-то хостить?
- обеспечение сохранности данных: непонятно как и кто в облаках делает резервные копии. уже были прецеденты потери данных.
- обеспечение безопасности данных: облака очень интересно взламывать хакерам, т.к. получают доступ сразу к миллионам людей. опять же уже были прецеденты.
- обеспечение независимости от решений конкретной коммерческой компании: были и закрытия продуктов, и повышение стоимости, и блокировки самые разные. И особенно “плановые” работы в неудобное для вас время.
- снижение издержек: как ни крути, облака очень дорогие, если задуматься.
Что нужно дома?
- доступ в интернет => специализированное “железное” решение
- видеонаблюдение => специализированное “железное” решение (можно и на своем обычном “сервере”, но смысла нет: специализированные приложения и так хороши)
- умный дом => специализированное “железное” решение (свое решение довольно сложно настраивать, так что лучше готовое решение). У меня умный дом Apple на базе Aqara. Если что, то можно перевезти на Home Assistant (все устройства Zigbee), но пока что и так работает.
- архив данных (хранилище резервных копий) => так называемые NAS-решения
- сетевой жесткий диск (локально не хватает места и идет работа с файлами по сети) => так называемые NAS-решения
- собственные приложения (отказ от облаков) => так называемые NAS-решения
NAS (сетевые хранилища данных) – бывают как в готовом “железном” исполнении, так можно и собрать на базе обычных компьютеров. Это достаточно дорогое решение, особенно, если хочется запускать приложения. Поэтому многие настраивают самостоятельно на базе обычных компьютеров. Далее речь пойдет прежде всего о них.
Требования к специализированным “железным” решениям
- не требует обязательной регистрации у производителя и обязательный доступ в интернет
- без регистраций можно обновляться
- обновления можно отключить
- есть веб-интерфейс для настройки, т.к. мобильные приложения неподконтрольны (могут пропасть, могут потерять поддержку “устаревших” устройств и тп)
Какие приложения нужны?
В целом, важнее просто файлы, поэтому домашние сервера часто называют NAS. Тем не менее, нужно к ним как-то удобно получать доступ. Да и немного приложений не помешает.
Обычным пользователям
- Bitwarden – для паролей
- NextCloud – для обмена файлами и их редактирования через веб-интерфейс. Там еще много что есть.
- Seafile или Syncthing – если достаточно просто обмена файлами (например, запускается на дешевом железном NAS и он не тянет NextCloud)
- meTube – программа для создания архивов роликов на YouTube
- qBittoren – программа для загрузки больших файлов через torrent-протокол
- pyLoad – программа для загрузки больших файлов через http (обычные ссылки)
Программистам
- Gitea – хранение исходников и CI/CD
- SonarQube – проверка качества кода
- Uptime Kuma – проверка, что нужные сайты работают
- Docker registry – для собственных образов
Другое
Понятно, что у других категорий пользователей могут быть свои запросы: смотря какие облачные сервисы они используют (заменяют), и какие open source альтернативы есть.
Например, свой сервер Minecraft или CS2 (проще всего через https://cubecoders.com/).