nick7zmail

 
<<< Назад

Установка и настройка Sonarr+Radarr (+qbittorrent+jackett+torproxy) в Docker

Рассказ о том как можно настроить софт для поиска и упорядочивания фильмов/сериалов в докере.

Всем привет.
Однажды кто-то спросил меня - а не сталкивался ли я с софтом Sonarr/Radarr и не знаю ли я случайно как его настроить...Учитывая, что в тот момент я в первый раз услышал название этого ПО - естественно я был как в тёмном лесу...Затем немного погуглил про него...затем ещё погуглил...и ещё....и наконец то решил попробовать что это за штука, и как она себя ведёт...
Для тех кому лень читать, и уже уверенно чувствуют себя в докере - итоговый докер файл в конце статьи...
Итак поехали...
Первым делом решил поставить собственно Sonarr...делал я это на Synology из консоли ssh. Но в принципе ничего не мешает повторить то же самое и в убунте, и не в убунте))) Единственное что нам нужно - это установленные пакеты и рабочая подсистема docker/docker-compose. Конкретно в Synology достаточно войти в центр пакетов, найти там Docker и установить

Далее все операции проводились через консоль...не, их конечно можно повторить через графический интерфейс...но более геморно - лазить по вкладкам, прописывать порты, папки и т.п....а тут - всё в файлике. Удобно и функционально....Итак, вернёмся к Sonarr.

Sonarr

Чтобы добавить и запустить контейнер с Sonarr - для начала создадим папку, в которой в дальнейшем будет лежать весь наш сетевой стэк, и перейдём в эту папку.

mkdir /volume1/docker/md_media
cd  /volume1/docker/md_media

Далее создаём файлик docker-compose.yml следующего содержания:

version: '2'
services:
  sonarr:
    image: linuxserver/sonarr
    container_name: sonarr
    volumes:
      - ./sonarr:/config
      - /тут/ваша/папка/с/сериалами:/serials
      - ./downloads:/downloads
    ports:
      - 8989:8989
    restart: always

И создаём указанные папки

mkdir downloads
mkdir sonarr

Создаём и запускаем контейнер

sudo docker-compose up -d

И уже можем перейти на <ваш IP>:8989 и глянуть интерфейс сонара.

Около значка System у вас будет красная цифра 3. Не пугайтесь, просто ещё ничего не настроено. Не добвлены индексеры, и загрузочные клиенты. Далее при настройке всё сделаем, как надо))

Radarr

Аналогично настраиваем Radarr.
Дописываем сервис в тот же файл

...
  radarr:
    image: linuxserver/radarr
    container_name: radarr
    volumes:
      - ./radarr:/config
      - /тут/папка/с/фильмами:/movies
      - ./downloads:/downloads
    ports:
      - 7878:7878
    restart: always

Создаём папки и запускаем.

mkdir radarr
sudo docker-compose up -d

Аналогично, после создания и запуска будет доступен интерфейс на указанном порту

QBitTorrent

На этом этапе всё так же довольно просто...
Дописываем очередной сервис всё в тот же наш файл docker-compose.yml

  qbittorrent:
    image: linuxserver/qbittorrent
    container_name: qbittorrent
    environment:
      - WEBUI_PORT=8068
    volumes:
      - ./qbittorrent:/config
      - ./downloads:/downloads
    ports:
      - 6881:6881
      - 6881:6881/udp
      - 8068:8068
    restart: always

Снова создаём папку настроек и запускаем

mkdir qbittorrent
sudo docker-compose up -d

И опять же проверяем работоспособность интерфейса

На этот раз нас встречает форма логина и пароля. По умолчанию:
логин admin
пароль adminadmin
После входа, естественно рекомендую поменять логин/пароль. Так же, по желанию, можете поменять язык интерфейса, русский поддерживается.
На этом этапе уже можно вернутся в Sonarr и Radarr и в настройках (Settings) во вкладке Download Client добавить QBitTorrent. Там для этого даже пресет есть. Жмём большой плюс, выбираем QBitTorrent и вводим название, хост (так же как на картинке), порт, логин, пароль. Остальные поля можно не трогать:

Нажимаем test. Если видим

То тест прошел успешно, можно сохранять.

Аналогично для Sonar (дублировать картинку не буду, там только категория другая).
Теперь можно перейти в System и нажать значек Restart. Одно предупреждение должно уйти, т.к. мы только что настроили Download Client. Этот пункт делать не обязательно...

Jackett

Самое весёлое припас на последок. Jackett. Так называемый индексер/индексатор торрентов...В списке у него множество торрент трекеров, некоторые публичные, некоторые приватные или полу-приватные. Но того, откуда обычно фильмы брал (weburg.net) к сожалению не нашел...ну да ладно. Полно других трекеров. Полный список можете посмотреть тут https://github.com/Jackett/Jackett под спойлерами, или уже в самой программе. Кстати в самой программе так же они разбиты по языкам, и можно добавить исключительно русские к примеру. Большую часть из них я вообще не знал, если честно))) Дак вот...по накатанной:
Дописываем в docker-compose.yml

  jackett:
    image: linuxserver/jackett
    container_name: jackett
    volumes:
      - ./jackett:/config
    ports:
      - 9117:9117
    restart: always

Создаём папку, запускаем:

mkdir jackett
sudo docker-compose up -d

Заходим, радуемся что интерфейс запустился

Обращаем внимание на api-key в правом верхнем углу. Он нам потом понадобится.
Пробуем добавить трекер....и фиг. Публичные добавляются, но на большинство не проходит тестовый запрос. Приватные вообще не хотят добавляться.
И щелкнув по ссылкам - я понял в чём причина...если некоторые у меня внесены в список сайтов, которые через vpn открываются, то те, которыми я не пользуюсь - тупо не открываются...Причины, по которым не открываются - в половине случаев написаны вместо самих сайтов, так что озвучивать не буду...но решать проблему то как то надо. Вывод - нужен проксик...как правило закрыты только сами сайты торрентов, но если скачать с них файл - то он спокойно загружается...т.е. нам достаточно пустить через проксик только jacket...опять же небольшой процесс гугленья не заставил себя долго ждать с решением))

TorProxy

Добавляем ещё пару строк в docker-compose.yml

  torproxy:
    restart: always
    image: dperson/torproxy:latest
    container_name: torproxy

Порты можно даже не прокидывать, если вы не будете использовать ТОРпрокси для других приложений. Обращаться будем напрямую к контейнеру.
Прописываем его в окружении jackett:

    environment:
      - RUN_OPTS=--ProxyConnection=torproxy:8118

А так же в настройках jackett

И обновляем наш стак командой

sudo docker-compose up -d

Установится тор-прокси, пересоздастся контэйнер jackett. После чего в принципе торренты стали пинговаться, приватные и полу-приватные трекеры так же добавились после ввода логина/пароля.

  • Теперь можно вернутся к настройкам Sonarr/Radarr. Идём в настройки-индексеры(indexers), нажимаем "+".
  • Выбираем Torznab
  • Вписываем
  • Название (я обычно пишу такое же, как название трэкера, чтоб не путаться)
  • Ссылку (в ссылке IP адрес нужно заменить на jackett. Оно в принципе и без этого будет работать, но запрос будет идти через роутер, а так - напрямую в контейнер)
  • API-ключ

В Sonarr так же нужно ввести категории контента...все доступные категории можно посмотреть, если нажать гаечный ключик в Jackett напротив добавленного индексера.
ну просто для примера

  • категории для rutracker 100315,5000,5020,5030,5040,5050,5060,5080. Категория anime в RuTracker - 5070 (да, категории аниме там зачем то отдельным полем...видимо, чтоб результаты не портили когда обычные фильмы ищем).
  • категории для rutor 100001,100003,100002,2000,5000,7000

В общем должно получиться примерно так:

Вот теперь всё настроено. Можно ещё раз сходить в System и перезагрузить приложение. Теперь не должно быть ни одного предупреждения, как на моих изначальных скринах.

gramarrru

Так же пока рылся в инете - нашел вот такой бот для телеги
https://www.youtube.com/watch?time_continue=13&v=W...
Себе я его не ставил, но алоритм тут такой же как и везде ранее. Добавляем в конфиг докера

  gramarrru:
    image: memodota/gramarrru
    container_name: gramarrru
    depends_on:
      - sonarr
      - radarr
    volumes:
      - ./gramarr:/config     
    restart: unless-stopped

Создаём папку

mkdir gramarr

Единственное, что надо сделать - закинуть в эту папку файл config.json следующего содержания

{
  "telegram": {
    "botToken": "тут_токен_бота"
  },
  "bot": {
    "password": "",
    "adminPassword": "вашсуперпароль"
  },
  "radarr": {
    "hostname": "radarr",
    "apiKey": "апи-ключ_радарра",
    "port": 7878,
    "urlBase": "",
    "ssl": false,
    "username": "Admin",
    "password": "ВашСуперПарольДляRadarr",
    "maxResults": 6
  },
  "sonarr": {
    "hostname": "sonarr",
    "apiKey": "апи-ключ_сонарра",
    "port": 8989,
    "urlBase": "",
    "ssl": false,
    "username": "Admin",
    "password": "ВашСуперПарольДляSonarr",
    "maxResults": 6
  }
}

Как раздобыть токен и бота можете почитать в теме телеграма для МажорДоМо. Апи ключи сонарра и радарра лежат в settings-general-security...
Запускаем:

sudo docker-compose up -d

Чтобы начать общение с ботом достаточно написать ему
/auth вашсуперпароль
После чего он ответит

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

И можно им пользоваться...

При первом выборе сериала/фильма в сонарр/радарр предложат выбрать папку. Выбираем, соответственно, serials/movies в корне контейнера. Именно туда подмонтированы ваши реальные папки сериалов/фильмов с сервера.

Итоговый docker-compose.yml выглядит так

version: '2'
services:

  sonarr:
    image: linuxserver/sonarr
    container_name: sonarr
#    environment:
#      - PUID=1026
#      - PGID=100
    volumes:
      - ./sonarr:/config
      - /тут/ваша/папка/с/сериалами:/serials
      - ./downloads:/downloads
    ports:
      - 8989:8989
    restart: always

  radarr:
    image: linuxserver/radarr
    container_name: radarr
#    environment:
#      - PUID=1026
#      - PGID=100
    volumes:
      - ./radarr:/config
      - /тут/ваша/папка/с/фильмами:/movies
      - ./downloads:/downloads
    ports:
      - 7878:7878
    restart: always

  qbittorrent:
    image: linuxserver/qbittorrent
    container_name: qbittorrent
    environment:
      - WEBUI_PORT=8068
#      - PUID=1026
#      - PGID=100
    volumes:
      - ./qbittorrent:/config
      - ./downloads:/downloads
    ports:
      - 6881:6881
      - 6881:6881/udp
      - 8068:8068
    restart: always

  jackett:
    image: linuxserver/jackett
    container_name: jackett
    environment:
      - RUN_OPTS=--ProxyConnection=torproxy:8118
    volumes:
      - ./jackett:/config
    ports:
      - 9117:9117
    restart: always

  torproxy:
    restart: always
    image: dperson/torproxy:latest
    container_name: torproxy2
#    ports:
#      - "8118:8118"
#    build:
#      context: .
#      args:
#        b: 500 # Use a maximum of 500 kilobytes per second

  gramarrru:
    image: memodota/gramarrru
    container_name: gramarrru
    depends_on:
      - sonarr
      - radarr
    volumes:
      - ./gramarr:/config     
    restart: unless-stopped

Решение проблем:

Как вы можете заметить - я добавил некоторые закоментированные блоки. Они помогают решить проблему с доступом, если она возникает...если при выборе папки пишет, что она недоступна для чтения - введите в консоли команду

nick7zmail@MajorDoMo:~$ id
uid=1026(nick7zmail) gid=100(users) groups=100(users),101(administrators)

узнайте uid и gid вашего пользователя, раскомментируйте строки, и впишите туда ваши uid и gid. После чего пересоздайте и перезапустите контейнеры

sudo docker-compose up -d

Обсуждение (16) (5)

Смотрите так же:
09.07.2020 Новый интерфейс Home
24.08.2018 Сцены для MajorDomo (примеры работ)
20.12.2017 Тест

Екатеринбург, Россия

На форуме: nick7zmail

Веб-сайт:
http://connect.smartliving.ru/profile/225