Автоматизируем домашний медиацентр на Synolgy NAS
Приветствую читатели, в этой статье я бы хотел поделиться своим опытом организации домашнего медиацентра на Synology: Sonarr + Radarr + Jackett + qBittorrent
Долгое время мой путь к просмотру фильмов/сериалов выглядел следующим образом:
Отслеживаем наличие контента
Скачиваем на ПК
Копируем на внешний hdd
Подключаем внешний hdd к телевизору
Смотрим
Процесс довольно утомительный, хотелось его упростить и автоматизировать.
С появлением дома Synology DS220+ пришло время таки закрыть этот гештальт.
После изучения информации в сети, как люди решают подобные проблемы, стал вырисовываться следующий стек:
Plex — клиент-серверный медиаплеер
Sonarr — сервис для автоматической загрузки сериалов
Radarr — сервис для автоматической загрузки фильмов
Jackett — индексер/интегратор торрентов для Sonarr и Radarr
qBittorrent — торрент клиент
Благо Synology NAS поддерживает docker и все это добро разворачивается с пол-пинка.
К слову, некоторые сервисы в Synology можно поднять через ui docker приложения, но в моем случае такого функционала будет недостаточно, поэтому будем подключаться по ssh и использовать docker-compose.
Настройка медиацентра
Переходим в Package Center и устанавливаем docker.
Создаем папку docker, внутри которой будем хранить конфигурацию, данные контейнеров, а также папку torMedia, в которую будут скачиваться все медиа файлы.
docker
|__media-center //папка для конфигов
|__containers
|__sonarr
|__radarr
|__jackett
|__qbittorrent
|__openvpn
torMedia
В панели управления Synology создаем пользователя mediaUser
и присваиваем права на чтение+запись директориям sonarr, radarr, jackett, qbittorrent, openvpn и torMedia.
Конфигурируем Docker Compose
В папке docker/media-center создаем файл docker-compose.yml
, как основу можно взять мой конфиг. Содержимое нужно будет подправить в соответствии с вашим окружением.
В сервисе qBittorrent задайте mem_limit
по вашему усмотрению.
У меня расширена память на ds220+ до 18gb, в сети есть список плашек оперативной памяти, которые беспроблемно встают.
Настройка пользователя
Подключаемся к Synology по ssh и командой id mediaUser
узнаем uid, gid пользователя, заменяем в файле docker-compose.yml значения переменных PUID и PGID на полученные значения.
VPN
Для нормального функционирования сервисов требуется доступ к трекерам, но весь трафик NAS`а не хотелось загонять под VPN.
Поэтому нужно было настроить сеть так, чтобы только определенные контейнеры использовали VPN. Для решения данной задачи у необходимых контейнеров указано network_mode: "service:openvpn"
, что позволяет использовать сеть контейнера openvpn для доступа к сети интернет.
Так как контейнеры используют сеть openvpn, проброс портов осуществляется в настройке сервиса openvpn.
6002:9117 - Jackett
6003:7878 - Radarr
6004:6004 - qBittorrent web ui
6005:8989 - Sonarr
6882 - qBittorrent torrent port
В папку docker/containers/openvpn
нужно подложить файлы конфигурации подключения к openvpn.
Запуск контейнеров
Теперь мы можем запустить все контейнеры командой docker-compose up -d
Стартуем сервисы и убеждаемся, что они запустились без ошибок.
Для просмотра логов контейнеров можно использовать docker-compose logs -f
Настройка Sonnar, Radarr, Jackett, qBittorrent
Доступ к приложениям
Здесь вам решать, как вы будете использовать сервисы, нужен ли внешний доступ или будете обращаться к ним только из локальной сети.
Synology NAS в control panel позволяет организовать внешний доступ через web station или reverse proxy. Можно привязать свой домен и автоматически обновлять сертификаты через letsencrypt.
Главное, не забудьте в настройках сервисов включить аутентификацию.
qBittorrent
Tools -> Options -> Connections
Выставляем Port used for incoming connections — 6882 и открываем его для возможности скачивания / раздачи.
Tools -> Options -> Downloads -> Saving Management
и указываем:
Default save path — /media/downloads/loaded
По желанию можно указать:
Keep incomplete torrents in — /media/downloads/incomplete
Copy .torrent files to — /media/torrents
Copy .torrent files for finished downloads to — /media/torrent_finish
Jackett
Добавляем нужные торрент трекеры в индексеры, при этом для нормального поиска контента на русских трекерах необходимо проставить галочку Strip Russian Letters.
Здесь же можно проверить правильность подключение к трекерам через Test.
Radar и Sonarr
По настройке они очень схожи, поэтому рассмотрим их вместе.
Указываем root folder (Settings -> Media Management -> Root Folder
), это папка куда будут сохраняться скаченные файлы.
Далее нужно настроить профили качества / языка. При добавлении фильмов можно будет выбрать желаемый профиль.
Переходим в Settings -> Profiles
и настраиваем на свой вкус.
Для добавления индексеров в Sonarr и Radarr переходим в Settings -> Indexers -> Add Indexer -> Torznab
и указываем:
Name — название конкретного трекера
URL — копируем из Jackett «Copy Torznad Feed»
API Key — копируем из Jackett Api Key
Sonnar и Radarr необходимо связать с торрент качалкой, для этого переходим Settings -> Download Client -> Add Download Client -> qBittorrent
и указываем локальный адрес и порт qBittorrent
Host: localhost
Port: 6004
Заполняем имя пользователя, пароль от qBittorrent, и указываем разные Category для Sonarr и Radarr, чтобы не смешивать контент.
Дополнительные интеграции
Settings -> Connect
В этом разделе можно подключить интеграцию с другими сервисами. У меня подключен telegram bot, который уведомляет о различных событиях — появление нового фильма, статус скачивания и т. д.
Если вы используете Plex, то можно настроить автоматическое обновление библиотеки при добавлении нового контента.
Обновление версий сервисов
Для обновления сервисов останавливаем контейнеры командой docker-compose stop
, затем обновляем версии в docker-compose.yml
и запускаем командой docker-compose up -d
Резюме
енот счастлив
В итоге получилось достаточно удобное решение для просмотра контента. Управлять всем этим добром можно через веб-интерфейс или приложение для смартфона — nzb360.
Отпадает необходимость в ручном скачивании и мониторинге, теперь всего лишь нужно добавить фильм или сериал в список желаемого, и при доступности он скачается, добавится в библиотеку Plex, а вам придет уведомление в telegram.
Для связки так же рекомендую Plex + Nvidia Shield TV.
Все ли так гладко?
Есть небольшие нюансы, которые пока не удалось решить:
Sonarr не умеет докачивать новые эпизоды сериалов, если они добавляются в существующий торрент. На наших трекерах так принято оформлять раздачи, а вот Sonarr ожидает, что под каждую новую серию торрент будет отдельным.
Иногда автоматический поиск не находит нужный контент, хотя он есть на трекере. Не все раздачи могут быть правильно оформлены и соответствовать критериям поиска. В таких случаях приходится искать вручную, но на самом деле такое попадается не часто.
Спасибо всем, кто дочитал, надеюсь мой опыт будет кому-то полезен.