Самостоятельный хостинг

Зачем самостоятельно что-то хостить?

  • обеспечение сохранности данных: непонятно как и кто в облаках делает резервные копии. уже были прецеденты потери данных.
  • обеспечение безопасности данных: облака очень интересно взламывать хакерам, т.к. получают доступ сразу к миллионам людей. опять же уже были прецеденты.
  • обеспечение независимости от решений конкретной коммерческой компании: были и закрытия продуктов, и повышение стоимости, и блокировки самые разные. И особенно “плановые” работы в неудобное для вас время.
  • снижение издержек: как ни крути, облака очень дорогие, если задуматься.

Что нужно дома?

  • доступ в интернет => специализированное “железное” решение
  • видеонаблюдение => специализированное “железное” решение (можно и на своем обычном “сервере”, но смысла нет: специализированные приложения и так хороши)
  • умный дом => специализированное “железное” решение (свое решение довольно сложно настраивать, так что лучше готовое решение). У меня умный дом 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/).