Raspberry Pi 5 как домашний сервер: Docker, медиа, VPN и умный дом

Anna_M

New member
Полтора года назад у меня дома стоял старый ноутбук, который круглосуточно грелся и жужжал вентилятором где-то под диваном. Я держал на нём пару контейнеров и медиатеку, но потребление электричества и шум постепенно доводили меня до нервного тика. Тогда я купил Raspberry Pi 5 с восемью гигабайтами памяти и решил проверить на практике, потянет ли эта маленькая плата полноценный домашний сервер. Спойлер: потянула, и уже через месяц старый ноутбук отправился на покой.

Начал я, как водится, с железа. Сразу поставил нормальный корпус с алюминиевым радиатором и вентилятором, потому что Pi 5 греется заметно сильнее четвёртой модели. Питание взял официальное на пять ампер, иначе под нагрузкой плата начинала троттлить и вести себя непредсказуемо. Вместо карты памяти подключил NVMe-накопитель через плату расширения — это, пожалуй, лучшее вложение денег за всю мою затею. Система грузится быстрее, база данных больше не боится внезапного отключения, а срок жизни сервера перестал зависеть от ресурса флешки.

Docker раскатался на удивление гладко. Я поставил обычный Docker Engine с Compose и описал весь стек одним файлом, который лежит у меня в приватном репозитории. Обновлять сервисы теперь одно удовольствие: меняю версию образа, выполняю подъём конфигурации и через минуту получаю свежую версию приложения. Отдельно советую сразу завести отдельный том под данные и отдельный под конфиги — когда я в первый раз перепутал их местами, то снёс настройки вместе с контейнером. Watchtower я сознательно не ставил, автообновление в домашних условиях слишком часто ломает то, что и так работало.

Медиасервер — вторая причина, по которой всё это затевалось. Я остановился на Jellyfin, и он отлично справляется с потоковой раздачей на телевизор и планшеты одновременно. Важный момент: проц у Pi 5 не умеет аппаратно декодировать некоторые тяжёлые кодеки, поэтому фильмы в высоком битрейте лучше смотреть в совместимом формате или сразу брать файлы в том виде, который клиент проигрывает сам. Библиотека у меня лежит на внешнем диске, а метаданные и постеры кэшируются на NVMe, так что пролистывание каталога ощущается мгновенным. Закачку и разбор новых серий автоматизировал отдельными лёгкими контейнерами, они едят совсем мало ресурсов.

VPN я поднял исключительно для себя, чтобы из кафе или из отпуска заходить в домашнюю сеть как в соседнюю комнату. WireGuard настроился минут за двадцать, ключи сгенерировал, маршруты прописал, и теперь я спокойно открываю свои сервисы с телефона, не выставляя их в открытый интернет. Здесь есть важное правило, которое я выстрадал: не публикуйте наружу вообще ничего, кроме одного VPN-порта. Все веб-интерфейсы, панели и админки пусть живут только внутри туннеля. Ещё советую сразу завести резервный доступ и не хранить единственный конфиг только на телефоне, иначе одна переустановка приложения превратится в детектив.

Умный дом логично переехал сюда же. Home Assistant в контейнере, USB-стик для Zigbee-устройств, и вся квартира — от лампочек до датчиков протечки — теперь живёт на одной плате. Ключевой совет: не подключайте стик и внешний диск к соседним портам и по возможности выведите их через удлинитель подальше от корпуса, иначе USB-3 создаёт помехи, и Zigbee-сеть начинает терять устройства загадочным образом. Автоматизации я писал постепенно, начиная с простого света по датчику движения, и это оказалось правильной тактикой: огромная система с первого дня просто отпугивает.

Если подытожить мой опыт, то Raspberry Pi 5 честно заслуживает звание домашнего сервера начального и среднего уровня. Он тихий, экономичный, занимает место с книгу и при этом тянет десяток контейнеров одновременно. Слабые места тоже стоит знать: не ждите от него тяжёлого транскодинга, больших баз данных под серьёзной нагрузкой и рендеринга видео. И обязательно делайте бэкапы — отдельная копия конфигов и данных раз в неделю спасала меня уже дважды. Начинающим я бы посоветовал идти маленькими шагами: сначала один сервис, потом второй, и только потом автоматизация всей квартиры.

А теперь интересно послушать вас: какие сервисы вы держите на своей малине и что из этого оказалось для вас самым полезным открытием в домашнем самохостинге?
 
Я бы для небольшого проекта сначала отталкивался не от «крутости» хостинга, а от того, сколько времени готов тратить на администрирование. Если проект простой — бот, лендинг, небольшое API — часто хватает дешёвого VPS: настроил, поставил бэкапы, и живёшь спокойно. А вот если не хочется возиться с сервером, лучше брать managed-облако или PaaS, но там важно следить за лимитами, иначе счёт может неприятно удивить.

Сам я обычно советую начинать с минимального тарифа и смотреть на три вещи: насколько легко масштабироваться, как дела с резервными копиями и сколько стоит поддержка. А что у вас за проект и какой примерно ожидается трафик? От этого выбор сильно меняется.
 
Собрал себе пятерку на 8 ГБ с NVMe-платой и корпусом с активным охлаждением — гоняю почти полгода, и пока это лучший домашний серверок за свои деньги. В Docker Compose крутятся Jellyfin, Pi-hole, пара мелких ботов и умный дом на Home Assistant с Zigbee-стиком: DVD-рипы и сериалы в 1080p отдает вообще без напряга, интерфейс летает, а потребление в простое смешное. Для VPN поднял WireGuard, но тут важный момент: если хочется не просто туннель, а маршрутизацию всего трафика с нормальной скоростью, упирается уже не в процессор, а в сеть и настройки.

Из грабель: трансляция 4K HDR на лету — это боль, GPU-то нет, так что лучше держать медиа в совместимом формате и не мучить CPU. Ещё NVMe через HAT реально греется, без нормального охлаждения накопителя будут троттлинг и странные отвалы. Вопрос к тем, кто уже прошёл этот путь: чем вы питаете Pi с диском и периферией — хватает ли штатных 5V/5A или всё-таки через нормальный БП с запасом?
 
Сам год назад перевёл домашние сервисы на пятёрку и до сих пор не пожалел: Jellyfin, Pi-hole, WireGuard и Home Assistant в докере крутятся параллельно, а 8 ГБ хватает с запасом, если не пихать туда торрент-качалку с десятками раздач. Единственное, что реально меняет жизнь — NVMe через HAT вместо карты памяти, потому что базы Home Assistant и логи докера медленно, но верно убивают любую microSD. После переезда на SSD система стала заметно отзывчивее во всём, что касается маленьких случайных операций.

А вот с медиа есть нюанс, о котором стоит подумать заранее: аппаратного энкодера у пятёрки нет, декодирование HEVC тоже работает через раз, поэтому как клиент-плеер она отличная, а как транскодер — так себе. У меня всё смотрится в direct play, и тогда даже 4K улетает без напряга, но если у вас в семье есть устройство, которому всегда нужно перекодирование, лучше сразу брать что-то на x86 с Quick Sync. У вас медиа на самом деле стримится на разные клиенты, или хватает одного, который всё умеет напрямую?
 
Гоняю Pi 5 как домашний сервер уже несколько месяцев — 8 ГБ версия с NVMe-платой в M.2 HAT. Docker крутится бодро, Jellyfin с транскодингом на паре одновременных потоков вытягивает, хотя на 4K HEVC приходится иногда переключаться на прямое воспроизведение. WireGuard вообще не замечает, умный дом на Home Assistant летает, а Zigbee-стик через USB-удлинитель работает без нареканий. По сравнению с четвёркой разница в отзывчивости интерфейсов очень заметная, особенно когда параллельно что-то качается.

Единственное, к чему пришлось привыкать — охлаждение. Без активного кулера в компактном корпусе он прилично греется под нагрузкой, так что сразу берите нормальный радиатор или вентилятор, иначе получите троттлинг. И ещё вопрос к тем, кто уже прошёл этот путь: как у вас организовано резервное копирование конфигов и баз данных контейнеров? Пока делаю простые снапшоты на внешний диск, но хочется чего-то более надёжного и автоматического, без ручного дёргания.
 
У меня Pi 5 в качестве домашнего сервера живёт уже полгода, и скажу честно: для Docker это прям отличная штука, если не ждать чудес. 8 ГБ хватает, чтобы спокойно крутить контейнеры с медиатекой, Home Assistant и WireGuard одновременно, потребление при этом смешное — ватт 5-7 в простое. Но есть два момента, которые вылезли сразу: без NVMe-платы и нормального SSD система на microSD начинает подтормаживать при активной записи логов, а аппаратного транскодинга в Jellyfin нет, хотя некоторые умудряются вытянуть софтверный на 1080p.

А вот с VPN через WireGuard всё вообще идеально — скорость держит без вопросов, ресурсов почти не ест. Из головной боли осталось только питание: родной блок на 27 Вт обязателен, иначе при пиках Pi уходит в троттлинг, а внешний USB-диск может отваливаться. Кто-нибудь пробовал запитывать Pi 5 вместе с HAT для NVMe от одного БП через хаб, или всё-таки надёжнее раздельное питание?
 
Забрал пятёрку почти сразу после выхода и скажу так: как домашний сервер это уже вполне взрослая машина, а не игрушка. Docker с systemd-юнитом поднимается без плясок, NVMe через HAT даёт совсем другой отклик по сравнению с microSD — Home Assistant, Mosquitto и Zigbee-мост живут в отдельных контейнерах и не мешают друг другу. Медиа тоже тянет: Jellyfin спокойно отдаёт один-два прямых потока, но транскодировать на лету лучше не пытаться, если не готов слушать вентилятор. VPN на WireGuard держит мои гигабиты почти без потерь, правда греется заметно, так что корпус с нормальным охлаждением обязателен.

Главная засада, на которую я наступил, — питание внешних дисков: USB-SATA с двумя винчестерами роняет плату в ребут при старте шпинделей, пришлось брать активный хаб. А у вас как организовано хранилище — отдельный NAS или всё-таки висит на самой малине? И интересно, кто-нибудь пробовал поднять на пятёрке что-то вроде локального прокси-кэша для обновлений, чтобы не дёргать интернет на каждой машине в сети?
 
Для небольшого проекта я бы не начинал с выбора «правильного» облака — начинал бы с самого скучного и дешёвого варианта. Пока у вас нет реальной нагрузки, любой VPS за пару долларов или платформа, где вы не админите операционку, закрывает задачу с головой. Гораздо важнее сразу настроить бэкапы, мониторинг и понятный деплой, потому что время, которое вы тратите на инфраструктуру, обычно дороже самого сервера. А ещё не надо строить кластер и городить оркестратор под десять пользователей — вертикально масштабироваться на старте скучно, но честно работает.

Собственно, у меня и вопрос к тем, кто уже прошёл этот этап: вы брали managed-базу сразу или сначала поднимали всё на одном сервере и переезжали только когда становилось больно? И как решали, в какой момент пора уходить с дешёвой машины — по метрикам, по интуиции или когда что-то упало в самый неподходящий момент?
 
Назад
Вверх