Рассказ о том как можно настроить софт для поиска и упорядочивания фильмов/сериалов в докере.
Всем привет.
Однажды кто-то спросил меня - а не сталкивался ли я с софтом Sonarr/Radarr и не знаю ли я случайно как его настроить...Учитывая, что в тот момент я в первый раз услышал название этого ПО - естественно я был как в тёмном лесу...Затем немного погуглил про него...затем ещё погуглил...и ещё....и наконец то решил попробовать что это за штука, и как она себя ведёт...
Для тех кому лень читать, и уже уверенно чувствуют себя в докере - итоговый докер файл в конце статьи...
Итак поехали...
Первым делом решил поставить собственно Sonarr...делал я это на Synology из консоли ssh. Но в принципе ничего не мешает повторить то же самое и в убунте, и не в убунте))) Единственное что нам нужно - это установленные пакеты и рабочая подсистема docker/docker-compose. Конкретно в Synology достаточно войти в центр пакетов, найти там Docker и установить
Далее все операции проводились через консоль...не, их конечно можно повторить через графический интерфейс...но более геморно - лазить по вкладкам, прописывать порты, папки и т.п....а тут - всё в файлике. Удобно и функционально....Итак, вернёмся к 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:
image: linuxserver/radarr
container_name: radarr
volumes:
- ./radarr:/config
- /тут/папка/с/фильмами:/movies
- ./downloads:/downloads
ports:
- 7878:7878
restart: always
Создаём папки и запускаем.
mkdir radarr
sudo docker-compose up -d
Аналогично, после создания и запуска будет доступен интерфейс на указанном порту
На этом этапе всё так же довольно просто...
Дописываем очередной сервис всё в тот же наш файл 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. Так называемый индексер/индексатор торрентов...В списке у него множество торрент трекеров, некоторые публичные, некоторые приватные или полу-приватные. Но того, откуда обычно фильмы брал (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...опять же небольшой процесс гугленья не заставил себя долго ждать с решением))
Добавляем ещё пару строк в 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 так же нужно ввести категории контента...все доступные категории можно посмотреть, если нажать гаечный ключик в Jackett напротив добавленного индексера.
ну просто для примера
В общем должно получиться примерно так:
Вот теперь всё настроено. Можно ещё раз сходить в System и перезагрузить приложение. Теперь не должно быть ни одного предупреждения, как на моих изначальных скринах.
Так же пока рылся в инете - нашел вот такой бот для телеги
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