Гид по технологиям

Как сделать медиасервер на Raspberry Pi 4B с Jellyfin

9 min read Hardware Обновлено 23 Dec 2025
Raspberry Pi 4B + Jellyfin: домашний медиасервер
Raspberry Pi 4B + Jellyfin: домашний медиасервер

Зачем использовать Raspberry Pi 4B и Jellyfin

Raspberry Pi 4B — один из самых мощных одноплатных компьютеров в своей ценовой категории (менее $150). Он потребляет мало энергии и отлично подходит для непрерывной работы в роли медиасервера. Jellyfin — свободный и открытый сервер медиа-контента, который позволяет хранить и транслировать фильмы, сериалы, музыку и аудиокниги на любые устройства в сети без привязки к облачным сервисам.

Краткие определения:

  • Raspberry Pi 4B — небольшой одноплатный компьютер для домашних и учебных проектов.
  • Jellyfin — сервер для управления и стриминга локальных медиатек (аналог Plex/Emby, свободный).

Важно: используйте только легально приобретённый контент.

Содержание статьи

  • Подготовка оборудования
  • Установка ОС и включение SSH
  • Установка Jellyfin на Raspberry Pi
  • Настройка библиотек и закачка медиатеки
  • Доступ извне: домен, порт-форвардинг, HTTPS
  • Безопасность и резервные копии
  • Отказоустойчивость и производительность
  • Тесты и критерии приёмки
  • Роли и чек-листы
  • Частые проблемы и их решения

Подготовка оборудования

Что понадобится:

  • Raspberry Pi 4B (рекомендуется 4 ГБ и выше для комфортной работы).
  • SSD через USB 3.0 или высокоёмкая SD-карта (лучше SSD для долговечности и скорости).
  • Надёжный блок питания для Pi 4 (5V, 3A или выше по спецификации вашего корпуса/хаба).
  • Ethernet-кабель (для стабильного стриминга настоятельно рекомендуется проводное подключение).
  • (Опционально) корпус с охлаждением.

Примечание: Wi‑Fi технически работает, но стабильность и качество стрима лучше при проводном подключении.

Важные действия перед установкой ОС:

  • Зайдите в нашей инструкции по установке ОС на Raspberry Pi и подготовьте SD/SSD с Raspberry Pi OS.
  • При использовании rpi-imager включите SSH, задайте имя пользователя и пароль (кнопка с шестерёнкой в rpi-imager). Запишите эти данные.

Подключите Pi к питанию и роутеру через Ethernet. Монитор не обязателен — дальнейшее управление через SSH.

Найти IP-адрес Raspberry Pi

Откройте веб-интерфейс вашего роутера. Обычно он доступен по адресу 192.168.1.1 или 192.168.0.1 — смотрите документацию роутера. В списке подключённых устройств найдите имя вашего Pi и запишите локальный IP.

Админ‑панель роутера со списком подключённых устройств и подсказкой с IP‑адресом

Если IP не виден сразу, наведите курсор на метку или откройте раздел с деталями устройства — роутер должен показывать MAC и IP.

Если вы не знакомы с SSH, прочитайте базовую инструкцию по использованию SSH на Windows, macOS и Linux.

Установка Jellyfin

Подключитесь к Pi по SSH с вашего компьютера в локальной сети:

ssh your_username@your.pi.ip.address

Введите пароль. При вводе пароля символы в терминале не отображаются — это нормально.

Обновите пакеты и систему:

sudo apt update
sudo apt upgrade -y

Добавьте ключ репозитория Jellyfin и сам репозиторий, чтобы установить актуальную сборку для вашей архитектуры. Установите curl и gnupg, если их ещё нет:

sudo apt install curl gnupg -y
curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/jellyfin.gpg

Добавьте источник репозитория, определив архитектуру и кодовое имя выпуска OS автоматически:

echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/$( awk -F'=' '/^ID=/{ print $NF }' /etc/os-release ) $( awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list

Проверьте содержимое файла:

cat /etc/apt/sources.list.d/jellyfin.list

На свежей Raspberry Pi OS вы увидите строку наподобие:

deb [arch=arm64] https://repo.jellyfin.org/debian bullseye main

Установите Jellyfin:

sudo apt update
sudo apt install jellyfin -y

Запустите и включите автозапуск сервиса:

sudo systemctl start jellyfin
sudo systemctl enable jellyfin

Терминал Linux с процессом установки и выводом текста

Доступ к Jellyfin в локальной сети

Откройте браузер на любом устройстве в той же сети и перейдите по адресу:

http://:8096

Например:

http://192.168.1.32:8096

Первый запуск откроет мастер настройки: язык, учётная запись администратора, добавление библиотек.

Форма с полями: имя пользователя, пароль и подтверждение пароля

Создайте требуемые директории на Pi под ваши типы медиа (фильмы, сериалы, музыка, аудиокниги):

mkdir -p ~/movies ~/tv ~/music ~/audiobooks

В веб‑мастере при добавлении библиотеки укажите тип контента и путь, например /home/pi/movies.

Передача файлов на Pi

Jellyfin не загружает файлы через веб-интерфейс — нужно скопировать данные на Pi. Для этого используйте scp (secure copy) или rsync для больших объёмов.

Копировать один файл:

scp /path/to/your/file.mp4 pi@192.168.1.32:/home/pi/movies/

Копировать папку рекурсивно:

scp -r /path/to/local/movies/folder/ pi@192.168.1.32:/home/pi/movies/

Альтернатива: rsync (быстрее при повторных синхронизациях):

rsync -avh --progress /local/movies/ pi@192.168.1.32:/home/pi/movies/

После копирования в веб‑интерфейсе Jellyfin: Меню → Dashboard → Libraries → для нужной библиотеки → Scan library.

Меню с опциями Редактировать изображения, Управлять библиотекой, Переименовать, Сканировать библиотеку и Удалить

Jellyfin попытается сопоставить файлы с базами данных (постеры, описания, актеры). При необходимости поправьте имена файлов, чтобы повысить точность метаданных.

Доступ извне (домашний сервер доступен в интернет)

Локальный доступ удобен, но чтобы смотреть медиатеку вне дома, нужно настроить внешний доступ. Есть два основных пути:

  1. Статический публичный IP и собственный домен.
  2. Динамический DNS (если провайдер даёт динамический IP) — дешевле и проще.

Вариант со статическим IP и доменом:

  • Обратитесь к вашему провайдеру и попросите статический публичный IP (иногда бесплатно, иногда за плату).
  • Купите домен у регистратора.
  • В панели регистратора создайте A‑запись для домена: Host = @, Value = ваш публичный IP, TTL — минимально допустимый.

Раздел DNS у регистратора с полями Host, Value и TTL

Если у вас динамический IP, используйте сервис динамического DNS (DuckDNS, No-IP и др.) и настройте клиент обновления на роутере или Pi.

Настройте перенаправление портов (Port forwarding) в админке роутера:

  • HTTP: 80 → локальный IP Pi : 80
  • HTTPS: 443 → локальный IP Pi : 443

(Если вы используете альтернативный внешний порт, настройте соответствующие правила и проброс.)

Переадресация HTTP и HTTPS на роутере

Настройка обратного прокси и HTTPS через Apache

Установите Apache и Certbot на Pi, чтобы сделать обратный прокси и получить бесплатные сертификаты Let’s Encrypt:

sudo apt install apache2 -y
sudo systemctl start apache2
sudo systemctl enable apache2
sudo add-apt-repository ppa:certbot/certbot -y
sudo apt update
sudo apt-get install python3-certbot-apache -y

Перейдите в каталог конфигурации сайтов и создайте конфигурацию для Jellyfin:

cd /etc/apache2/sites-available
sudo nano jellyfin.conf

Вставьте (замените your-server.name и 192.168.1.32 на ваш домен и локальный IP):


    ServerName your-server.name
    ProxyPreserveHost On
    ProxyPass / http://192.168.1.32:8096/
    ProxyPassReverse / http://192.168.1.32:8096/
    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} websocket [NC]
    RewriteCond %{HTTP:Connection} upgrade [NC]
    RewriteRule ^/?(.*) "ws://192.168.1.32:8096/$1" [P,L]

Сохраните (Ctrl+O), выйдите (Ctrl+X), затем активируйте сайт и перезапустите Apache:

sudo a2ensite jellyfin.conf
sudo service apache2 restart

Запустите certbot для получения сертификата и автоматической настройки HTTPS:

sudo certbot

Следуйте интерактивным подсказкам — выберите ваш сайт из списка, введите email и выберите редирект на HTTPS.

После этого ваш домен будет безопасно обслуживаться через HTTPS и проксироваться в Jellyfin.

Безопасность и жесткая настройка

Важно системно защитить домашний сервер:

  • Не оставляйте стандартные пользователи и пароли. Создайте отдельную учётную запись администратора и отключите вход по паролю для root.
  • Настройте межсетевой экран UFW (Uncomplicated Firewall):
sudo apt install ufw -y
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
  • Установите fail2ban, чтобы ограничить попытки подбора пароля по SSH:
sudo apt install fail2ban -y
  • Используйте ключи SSH вместо паролей и отключите вход по паролю в /etc/ssh/sshd_config (PasswordAuthentication no).
  • Регулярно обновляйте систему и пакеты (apt update && apt upgrade).
  • Ограничьте публичный доступ к административным панелям и используйте 2FA в тех сервисах, где это возможно.

Краткий чек‑лист безопасности:

  • SSH по ключам, пароли отключены
  • UFW настроен и включён
  • fail2ban установлен
  • Сертификаты обновляются автоматически (certbot)
  • Регулярные резервные копии данных и конфигураций

Резервное копирование и обслуживание

Резервируйте как сами файлы медиа (внешние диски, NAS, облако), так и конфигурацию Jellyfin и базу метаданных.

Типичные пути для бэкапа Jellyfin:

  • Конфигурация: /etc/jellyfin
  • Данные и метаданные: /var/lib/jellyfin (включая базу и обложки)

Пример резервного архива (запустить на Pi или на внешнем хранилище):

sudo tar -czvf jellyfin-config-backup-$(date +%F).tar.gz /etc/jellyfin /var/lib/jellyfin

Храните бэкап на другом диске или в облаке: rsync, rclone, cron для автоматизации.

Производительность и аппаратное ускорение

Чтобы получить лучшие показатели при трансляции и транскодировании:

  • Используйте SSD подключённый к USB‑3.0 для хранения медиатеки.
  • Минимизируйте транскодирование: храните видео в кодеке, который клиент поддерживает (например, h.264/h.265), или используйте устройства с аппаратным декодированием.
  • Аппаратное ускорение для Jellyfin на Raspberry Pi может потребовать установки дополнительных пакетов (ffmpeg с поддержкой аппаратного декодирования) и включения hardware acceleration в настройках Jellyfin. Конкретная процедура зависит от версии ОС и CPU/GPU; проверяйте официальную документацию Jellyfin для вашей архитектуры.

Баланс мощностей:

  • Для пассивной раздачи (stream только в родной кодек) достаточно 4GB Pi + SSD.
  • Для многопользовательского транскодирования стоит рассматривать более мощный хост или внешний аппаратный энкодер.

Отказоустойчивость и мониторинг

Рекомендации для стабильной работы:

  • Подключите Pi к источнику бесперебойного питания (UPS) при возможности.
  • Настройте мониторинг дискового пространства, загрузки CPU и памяти (cron + простые скрипты / grafana+prometheus при желании).
  • Настройте логи и ротацию логов для /var/log и логов Jellyfin.

Тесты и критерии приёмки

Критерии приёмки (что проверить после настройки):

  • Локальный доступ: при переходе http://:8096 открывается интерфейс Jellyfin.
  • Библиотеки: все добавленные каталоги видны в Dashboard → Libraries, сканирование проходит без ошибок.
  • Воспроизведение: стрим фильма/аудиозаписи на локальном устройстве и мобильном устройстве проходит без заиканий в нормальной сети.
  • Удалённый доступ: домен/динамический DNS корректно резолвится в ваш публичный IP, и сайт доступен по HTTPS.
  • Безопасность: SSH по ключам, UFW активен, fail2ban установлен.

Тестовые сценарии:

  • Воспроизведение 1080p на одном устройстве и 720p на втором одновременно.
  • Подключение извне через мобильный интернет с воспроизведением тестового видео.

Роли и чек‑листы

Роль — Домашний администратор (один человек):

  • Установить Pi и ОС
  • Включить SSH и записать учётные данные
  • Установить Jellyfin и прокси
  • Настроить резервное копирование
  • Мониторить обновления и логи

Роль — Пользователь (домашний зритель):

  • Попросить доступ у администратора
  • Подключаться по ссылке/через приложения Jellyfin
  • Сообщать о проблемах с плейбеком

Частые проблемы и решения

Проблема: видео буферизуется/лаг при воспроизведении

  • Проверить качество сети (Ethernet лучше Wi‑Fi).
  • Включить аппаратное ускорение в Jellyfin, если поддерживается.
  • Проверить загрузку CPU на Pi (top, htop).

Проблема: не получается получить сертификат Let’s Encrypt

  • Убедиться, что домен указывает на ваш публичный IP.
  • Проверить, что порт 80 открыт и проброшен на Pi (HTTP необходим для валидации).

Проблема: метаданные не подтягиваются корректно

  • Проверьте структуру имён файлов (имя фильма и год в названии повышают вероятность точного сопоставления).
  • В настройках библиотеки выберите правильный провайдер метаданных.

Альтернативные подходы и расширения

  • Docker/Podman: запуск Jellyfin в контейнере упрощает переносимость и откат версий.
  • NAS: если у вас сетевое хранилище, запускайте Jellyfin на NAS (Synology/QNAP) — удобнее для больших коллекций.
  • Использование NGINX вместо Apache как обратного прокси — легче для конфигураций с веб‑сокетами.
  • Использование VPN (WireGuard/OpenVPN) вместо проброса портов для доступа извне — безопаснее и не требует домена.

Когда этот подход не подходит (контрпримеры)

  • Если вам нужен масштабируемый мультитенантный стриминг — домашний Pi ограничен по ресурсам.
  • Если у вас коллекция в десятки терабайт и многопользовательские одновременные транскодирования — лучше выбрать более мощный сервер или облачный хостинг.

Мини‑методология: быстрый чек‑лист для первого запуска (SOP)

  1. Подготовить SD/SSD с Raspberry Pi OS.
  2. Включить SSH в rpi-imager, задать логин/пароль.
  3. Подключить Pi к роутеру по Ethernet и найти IP в роутере.
  4. По SSH обновить систему и установить Jellyfin.
  5. Создать папки медиа, скопировать файлы (scp/rsync).
  6. Добавить библиотеки в Jellyfin и просканировать.
  7. (Опционально) Настроить домен, обратный прокси и HTTPS.
  8. Настроить UFW, fail2ban, регулярные бэкапы.

Короткий глоссарий

  • SSH — защищённый удалённый доступ к командной строке.
  • SCP — утилита для безопасной копии файлов по сети.
  • Reverse proxy (обратный прокси) — сервер, принимающий внешние запросы и перенаправляющий их внутрь сети.
  • Certbot — клиент для получения сертификатов Let’s Encrypt.

Заключение

Raspberry Pi 4B — отличный и экономичный вариант для домашнего медиасервера. Jellyfin даёт полную свободу управления медиатекой без подписок и привязки к облакам. Следуя шагам этой статьи, вы получите рабочий сервер с локальным и (опционально) удалённым доступом, с базовой защитой, резервными копиями и планом обслуживания.

Если вы хотите, могу подготовить готовый Docker Compose файл, список команд для аппаратного ускорения ffmpeg под вашу модель Pi, или шаблон cron‑задач для автоматического бэкапа.

Экран домашней страницы Jellyfin с секциями фильмов, музыки, аудиокниг и сериалов

Ważное: регулярно обновляйте систему и делайте бэкапы — это ключ к стабильной и безопасной работе вашего медиасервера.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Как поставить изображение на фон слайда в PowerPoint
PowerPoint

Как поставить изображение на фон слайда в PowerPoint

Завершение и приоритизация процессов в Windows
Windows

Завершение и приоритизация процессов в Windows

Общий альбом как веб‑страница
How-to

Общий альбом как веб‑страница

ADB: настройка, команды и советы
Инструменты

ADB: настройка, команды и советы

Как ограничить FPS в драйверах NVIDIA
Гайды

Как ограничить FPS в драйверах NVIDIA

Как получить красивое боке на iPhone
Фото

Как получить красивое боке на iPhone