Статья

Приготовление домашнего медиасервера в Docker

Дисклеймер! Статья носит информационный характер, пиратство запрещено законом во многих странах. Процедура выполнена на сервере HP GEN8 с установленной ОС Synology, в которой имеется пакет Docker. В большинстве случаев, инструкция будет актуальна и для других систем, где установлен Docker.

Подготовка

Для начала проверьте, установлен ли у вас Docker? Идем в Основное меню -> Центр пакетов -> Установлено. Если Docker там нет, то ставим через Все пакеты. Доступ к командной строке сервера. Основное меню -> Панель управления -> Терминал и SNMP -> Включить службу SSH установить галочку. Создаем необходимые каталоги. Часть создадим в DSM, часть из CLI (Command Line Interface). В DSM я создаю каталог /volume2/doker_mapping/torrents (будем считать, что это наш рабочий каталог). Вы можете создать в любом удобном для вас месте. Далее нужно положить вот этот файл docker-compose.yml в только что созданную папку. После этого заходим на сервер через SSH, идем в только что созданный каталог.

cd /volume2/doker_mapping/torrents

И выполняем команду:

mkdir -p./

Далее создаем свою сеть для будущих контейнеров:

sudo docker network create -d bridge --subnet=172.23.0.0/24 --gateway 172.23.0.1 nginx-proxy

Убедитесь, что создаваемая сеть не будет иметь конфликтов с вашей текущей.

Теперь нужно выяснить, под каким пользователем вы работаете, это будет необходимо для правильной работы контейнеров:

id $user

Вернется что-то вроде этого:

uid=1026(Anzor) gid=100(users) groups=100(users),101(administrators),1023(http)

Нам нужны uid=1026 и gid=100. Открываем файл docker-compose.yml , который уже находится в рабочем каталоге и меняем все PUID=1026 и PGID=100 на свои значения. Сохраняем.

На этом этап подготовки можно считать законченным.

Создание контейнеров

На самом деле, тут все просто. В том же рабочем каталоге выполняем команду:

sudo docker-compose pull

После того, как необходимые контейнеры будут скачены, выполняем:

sudo docker-compose up -d

После завершения развертывания контейнеров, можно попробовать зайти на фэб Jackett, для этого набираем в адресной строке http://IP_СЕРВЕРА:9117. Должен открыться Jackett.

Настройка

Добавляем индексы по желанию (Add indexer):

Копируем API key куда-нибудь, он скоро нам понадобится, можно просто оставить вкладку открытой. Открываем Sonarr http://IP_СЕРВЕРА:8989, идем в Settings -> Download Client, жмем большой плюс и выбираем QBittorrent, заполняем:

  • Name QBittorrent
  • Host 172.23.0.53
  • Port 8068
  • Username admin
  • Password adminadmin

Остальное можно оставить по умолчанию. Нажимаем Test, должно появиться Testing ‘QBittorrent’ succeeded. Жмем Save. Далее идем в Indexers, плюс. Выбираем Torznab, заполняем:

  • Name rutor (желательно называть по имени трекера, проще будет потом ориентироваться).
  • URL http://172.23.0.54:9117/api/v2.0/indexers/rutor/results/torznab/ (данную ссылку можно получить, если нажать на кнопку Copy Torznab feed в строке с трекером в Jackett).
  • API Key ваш API ключ из Jackett.
  • Categories 100001,100003,100002,2000,5000,7000 (ВАЖНО! Для rutor указывайте именно эти категории, иначе может не работать).

Остальное оставляем по умолчанию. Так же проверяем кнопкой Test и сохраняем. Для RuTracker заполняем точно так же, только категории будут такие - 100315,5000,5020,5030,5040,5050,5060,5080. Категория anime в RuTracker - 5070.

Добавляем сериал для поиска

Теперь, когда все готово к тому, чтобы добавить сериал в библиотеку, переходим на вкладку Series, нажимаем Add Series. Вводим название сериала, можно на русском языке, появятся найденные Sonarr'ом сериалы.

Кнопка добавляет сериал для последующего сканирования. Лупа добавляет и сразу ищет по существующим индексам. При первом добавлении сериала, появится окно выбора папки, куда сохранять сериал. Нужно выбирать /tv/ (для radarr - /movies/).

Если все сделано правильно и трекеры у вас не заблокированы, то во вкладке Activity должен отобразиться процесс закачки:

Также рекомендую сходить в Settings -> Profiles и поменять везде язык на Russian.

Красивости!

Теперь давайте добавим немного магии! Ведь все это не так интересно, если в этом нет магии, и нельзя похвастаться перед друзьями. Так как сейчас телеграмм чрезвычайно моден, то и красивости мы будет добавлять в него. Правда, тут придется немного напрячься и создать бота, но если вы дошли до этого пункта, то бота у вас создать труда не составит - оставлю это для факультатива.

Итак, бот создан, вам известен его token. Отлично! Качаем файл - config.json. Открываем редактором этот файл и заполняем своими данными. Данные для заполнения можно посмотреть в Settings -> General -> Security -> API Key (не путать с API Jackett). Не забудьте включить Authentication. Далее идем в рабочую папку, находим там папку gramarr, закидываем в нее скаченный и подготовленный config.json (если файла уже есть, просто соглашаемся на замену). После этого нужно перезагрузить контейнер gramarr.

Проверяем работу. Отправьте боту:

/auth SUPERPASS

Должно вернуться:

Хозяин ты вернулся. А я че, я ниче Напиши пожалуйста /start чтобы начать.

Тоже самое будет работать и для фильмов.

Надеюсь, у вас все получится, но если нет, то попробуйте для начала найти ответ самостоятельно :). Ну а если и разобраться не получается - милости прошу в телеграмм, попробую помочь по мере возможности.


Спасибо за статью. Не качаю сериалы после перехода на кинопаб. Но аудиокнижки все ещё качаются через торренты. 

Оно принципиально интереснее чем Download Station из магазину Synology?

Download station это просто качалка. Тут немного больше возможностей.

Статья классная, подтолкнула к ознакомлению с Docker :)

Жаль что Radarr\Sonarr плохо работают с Русскими фильмами и сериалами.

А оно все ещё имеет смысл при наличии программ типа FS Клиент или HD Videobox?

Немного разные подходы. Плюс. если нет андроида, то не так-то просто запустить контент из сети сразу на ТВ. Удобнее закинуть название, которое только что услышал в подкасте, в телеграм. Пришел домой, а фильм уже скачен и лежит с обложкой и описанием в plex.

Через Radarr вообще поиск странно работает, ни одного файла не находит. При этом Jackett в ручном поиске ищет нормально. Все тесты проходит, добавлены rutracker (галка 

Strip Russian Letters активна) и rutor. Может в Radarr еще что-то настроить нужно?

Можно попробовать ручной поиск, и потом в выдаче посмотреть, что ему не нравится. Предположу, что язык не совпадет. Лучше установите языки в профилях на any

Да, похоже разобрался, помог этот коммент из похожей статьи на хабре:

"Эту проблему я в результате поборол выставив "Parser Leniency" в "Lenient Parsing".


Но "strip russian letters" тоже выставил чтоб побороть ошибку "Russian is wanted, but found English" и в профилях обратно на английский переключился. Но теперь для rutracker'а выдает "English is wanted, but found Russian". Подозреваю что это из-за того что в названиях встречается "Rus" (для звука и субтитров). Так и не придумал что с этим делать пока.Ну хоть остальные трекеры стали работать."

а даже если, что-то находит, то пишет 

Release Rejected


  • Failed to map movie, found title Рейд 2 / The Raid 2 Berandal, expected one of: The Raid 2, Reid 2, Redada Asesina 2, The Raid: Retaliation

при этом хоть на латинице название указывал, хоть кириллицей 

Проблема в языке. Поставьте any. И радар передает в jacket свой запрос, то что вы указываете название в латинице или кириллице это только для поиска самого фильма в радар.

еще из красивостей, есть возможность прописать папку, где gramarr хранить данные авторизации? т.к. иногда начинает запрашивать пароль, видимо при перезапуске

Не знаю, у меня хром хранит пароли )

У меня фильмы не ищутся и не посылаются на скачивание автоматически. В ручную все работает. Вторая проблема, что фильмы с названием только на русском radarr даже в ручную не находит. А Jackett, через который radarr ищет на рутрекере, тоже самое находит. Пользуюсь radarr v3, а там недавно убрали функтионал Lenient Parsing.

Вам удалось решить проблему? Бьюсь уже который месяц

У кого то бота получилось запустить на rpi ? 
у меня ругается при создании контейнера : 



WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm/v7) and no specific platform was requested


И в самом контейнере потом ошибка в логах : 

standard_init_linux.go:219: exec user process caused: exec format error


Подскажите, как правильно настроить связку Sonarr+Jackett+qbittorrent чтоб автоматом докачивало новые эпизоды добавленного сериала ? 
Никак не  получается сделать этого 

Спасибо

вроде с теми настройками, что идут по умолчанию, он докачивает. Так, что не могу подсказать. Сам с недавних пор перешел на deluge. 

qbittorrent, в последних сборках поломали на syno.

У меня тоже не получается никак побороть sonarr, чтобы умел работать с перезалитием торрентов на рутрекере

Вернуться назад
Вернуться назад