Насколько круто иметь свой сервер в комнате

в 9:00, , рубрики: ActivityPub, home assistant, Jellyfin, Mastodon, open source, Pi-Hole, plex, Raspberry Pi, ruvds_статьи, Sonarr, transmission, Twitodon, Umbrel OS, Блог компании RUVDS.com, дегуглификация, домашний сервер, Разработка на Raspberry Pi, Серверное администрирование, Софт

Насколько круто иметь свой сервер в комнате - 1


Некоторые олды часто вспоминают эпоху до смартфонов, когда в студенческие времена или в школе у них был любимый настольный компьютер. Он стоял прямо в комнате, рядом с кроватью, и работал как личный ассистент в режиме 24/7: играл фоновую музыку (со специальным плейлистом, когда в гости приходили девушки), показывал фильмы, будил уведомлением из аськи или ирки, скачивал сайты ночью по диалапу и т. д.

Но кажется, что эта эпоха возвращается. Только на новом уровне. Сейчас опять стало очень круто иметь в комнате свой сервер, только он выглядит иначе и выполняет другие функции.

Интересные лайфхаки со студенческих времён:

  • На компьютере крутился сайт с секретным URL для друзей. При заходе по этому URL компьютер подавал звуковой сигнал хозяину выйти в онлайн (если его нет в аське). Всё это немного напоминало xkcd 530:
    Насколько круто иметь свой сервер в комнате - 2

  • Синтезатор речи, читающий входящие сообщения.
  • Беспроводная клавиатура, выполняющая роль пульта Д/У, чтобы ставить на паузу и возобновлять воспроизведение фильмов и музыки из другого конца комнаты.

По сути, 25 лет назад компьютер в комнате выполнял некоторые функции того, что сейчас называют «умной колонкой». А у настоящего домашнего сервера теперь немножко иное предназначение.

Задачи

Типичные задачи личного домашнего сервера, который стоит в комнате:

  1. Экран со статистикой (дашборд). Это может быть мониторинг ресурсов сервера, потребление ресурсов и логи, как на фото внизу, а также финансовые котировки, текущая погода и другие красивые циферки, которые хочется всё время иметь на виду.
    Насколько круто иметь свой сервер в комнате - 3

    Пока экран демонстрирует статистику, в фоновом режиме у нас крутятся другие процессы.

  2. Веб-сервер. Раздача веб-контента через интернет и/или в локальной сети.
  3. Медиасервер. Хранение и раздача видео- и аудиофайлов, чтобы с любого устройства можно было запустить фильмы или музыку по Wi-Fi или через интернет. Для этого нужны торрент-клиент (для скачивания контента) и медиасервер для раздачи, список приложений см. ниже.
  4. Аудио- и видеостриминг. Можно поднять продвинутую платформу для обработки аудио/видео и профессионального стриминга: использовать ffmpeg, обработку видео, транскодирование, кэширование, потом раздачу. Здесь тоже есть специализированные серверные инструменты типа Owncast (что-то вроде Twitch на своём хостинге). Если у нас всего несколько зрителей и хороший канал, нет необходимости вести трансляцию через коммерческие сервисы типа Twitch или YouTube. Опять же, это интересный вариант для трансляции видео с камер наблюдения на смартфон. Например, для просмотра обстановки в квартире во время своего отсутствия.
  5. Фронтенд для веб-сервисов. Прокси для вырезания всей рекламы, удобные клиенты для YouTube, Reddit, Twitter, Google и прочих сервисов, без рекламы и трекинга (список приложений ниже).

В целом получается, что современный домашний сервер выполняет гораздо больше полезных задач, чем 25 лет назад.

Raspberry Pi как комнатный сервер

Простой одноплатник типа Raspberry Pi тоже используют как домашний сервер. В качестве более простого веб-сервера на RPi рекомендуют Caddy, да и других вариантов хватает, кроме Nginx.

Специально для роли домашнего сервера на RPi (homelab, VM, RockPro, NUC, что угодно) разработана система Umbrel OS — идеальный вариант для самохостинга домашних серверных приложений.

Насколько круто иметь свой сервер в комнате - 4

Самый простой способ установки сервера Umbrel OS на любом дистрибутиве Ubuntu и Debian (x86 или arm64):

curl -L https://umbrel.sh | bash

Umbrel OS отлично работает на RPi, любой персоналке/сервере или VPS. Сразу после установки сервер доступен по локальному адресу, например http://192.168.67.130, как на КДПВ.

Своеобразный аналог Umbrel OS — домашний сервер Tipi, тоже с отличным каталогом приложений для самохостинга. Во многом он пересекается с Unbrel OS, хотя тут у разработчиков свои предпочтения. Например, для блокировки рекламы по DNS они выбрали Adguard Home, для стриминга аудиокниг — Booksonic, для публикации блога — платформу Haven и так далее. Но это просто выбор для родного репозитория, а в реальности можно поставить любое приложение на свой вкус.

Установка Tipi на Ubuntu…

git clone https://github.com/meienberger/runtipi.git

… и запуск:

cd runtipi
sudo ./scripts/start.sh

Демо-инстанс Tipi. В неофициальном руководстве в качестве сервера рекомендуются «микрокомпьютеры» типа Dell Optiplex (на фото) или Lenovo ThinkCentre, хотя в реальности подойдёт любой компьютер, и даже RPi.

Насколько круто иметь свой сервер в комнате - 5

Полезный софт для самохостинга

  • Home Assistant и Node-RED — управление умным домом.
    Насколько круто иметь свой сервер в комнате - 6
  • Pi-hole — фильтрация интернет-трафика во всей сети, блокировка рекламы.
  • Plex — проприетарный медиасервер для стриминга (в качестве свободной альтернативы можно использовать Jellyfin).
  • Transmission — быстрый и простой торрент-клиент, с ним интегрируется менеджер/индексатор Radarr или Sonarr для мониторинга RSS-раздач и автоматического скачивания новых эпизодов. Всё это сразу подгружается в Plex/Jellyfin. Есть ещё менеджер Lidarr — то же самое, только для музыки, и Prowlarr для интеграции Lidarr, Mylar3, Radarr, Readarr и Sonarr в одном интерфейсе.
  • Audioserve, audiobookshelf и Boringstreamer — простые серверы для аудиостриминга, то есть раздачи аудиофайлов из папок (аудиокниги, музыка, подкасты).
  • Nextcloud — опенсорсная замена Google Drive и другим облачным хостингам.
  • PhotoPrism — хранение фотографий, красивый интерфейс для просмотра альбомов и удалённого доступа.
  • Invidious — клиент для YouTube без трекинга и рекламы.
  • Nitter — фронтенд для Twitter (если вы им ещё пользуетесь).
  • Whoogle — фронтенд для Google, очищенный от рекламы, скриптов, ссылок AMP, кукисов и трекинга по IP-адресам с профилированием пользователей, чем занимается Google.
    Насколько круто иметь свой сервер в комнате - 7

  • LibReddit — альтернативный приватный фронтенд для Reddit, тоже без трекинга и рекламы.
  • SyncThing — синхронизация файлов между всеми устройствами.
  • Code Server — запуск VS Code на сервере и удалённый доступ из браузера.
  • Vaultwarden — неофициальный сервер для менеджера паролей Bitwarden.
  • Tailscale — не требующий настройки VPN, который даёт доступ к серверу Umbrel из любой точки мира.
  • Synapse — свой инстанс Matrix для децентрализованных чатов, совместимый с клиентами Element.
  • Electrs — быстрый и эффективный сервер для кошелька Electrum.
  • Gitea — простой хостинг Git.
  • Uptime Kuma — мониторинг аптайма для своего сервера.
  • … и другие серверные приложения из каталога.

Большой набор инструментов и программ для самохостинга можно найти в этом руководстве, а также в коллекции awesome-selfhosted и подреддите r/selfhosted/.

▍ Сервер Mastodon

В ноябре 2022 года началась волна массового исхода из Twitter и других социальных сетей. В качестве альтернативы часто выбирают глобальную распределённую сеть Mastodon на открытом протоколе ActivityPub, поэтому упомянем это приложение отдельно от всего списка как самое актуальное в эти дни.

Инстанс Mastodon можно поднять на чужом сервере или на своём, который стоит дома (инструкция для самохостинга).

Есть инструменты типа Twitodon для поиска пользователей Mastodon среди всех пользователей Twitter, которых вы читаете, чтобы подписаться на них уже в свободной сети.

Pi4 как повседневный компьютер

Кроме функций сервера (о чём мы говорили выше), RPi может работать как обычный повседневный компьютер. Восьми гигабайт RAM достаточно, чтобы установить десктопную ОС и выполнять рутинные задачи — открывать сайты в браузере (Firefox), редактировать тексты (LibreOffice), читать почту, программировать (Pluma + LAMP-стек для локалхоста), редактировать фотографии (GIMP) и монтировать видео (KdenLive), смотреть видео на YouTube и даже играть в простенькие игры типа Mahjong. Хотя нормальные игры такой компьютер не потянет.

Насколько круто иметь свой сервер в комнате - 8

По отзывам пользователей, для настольного ПК на базе RPi оптимально подходит операционка Ubuntu Mate (на обычной Ubuntu немного лагает курсор мыши, на Raspberry Pi OS не хватает некоторых привычных функций типа Redshift, а Xubuntu не удалось установить на RPi). Пассивного алюминиевого радиатора вполне достаточно для охлаждения, но желательно мониторить температуру с помощью Psensor. Из лайфхаков — большая USB-флешка в качестве внешнего накопителя и возможность автономной работы с питанием от пауэрбанка. Можно смастерить красивый корпус и прикрепить тачскрин для быстрых операций без внешнего монитора. Красота.

Если хочется маленький компьютер помощнее и подороже, то можно взять мини-ПК с 16 ГБ RAM и SSD 512 ГБ типа Intel N5105 в районе $220:

Насколько круто иметь свой сервер в комнате - 9

Но преимущество RPi в низком энергопотреблении и отсутствии активного охлаждения (полная тишина). Так что он идеален для работы в качестве сервера 24/7.

Правда, в данный момент на всех площадках дефицит «малинок» и негуманные цены. Будем надеяться, что это временно…


Сегодня у почти каждого в кармане смартфон, однако некоторые вещи по-прежнему быстрее делать на большом экране и удобной клавиатуре. А если домашний сервер стоит прямо возле кровати, то качество жизни выходит на принципиально новый уровень!

Telegram-канал с полезностями и уютный чат

Автор:
oldadmin

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js