Jump to content
XPEnology Community

torrentmonitor упаковали в docker


PRIMAS4UNO

Recommended Posts

torrentmonitor упаковали в docker

Товарищ nawa закончил пилить контейнер docker с torrentmonitor.

https://github.com/Nawa/torrentmonitor-dockerized/blob/master/README-RU.md

Если коротко, то контейнер построен на базе Ubuntu base image

весит 370M кушает ram в покое около 40M

https://github.com/phusion/baseimage-docker%20%20

Для установки:

0 нужен установленный пакет docker (официальный реп. Synology).

 

1 скачать nawa/torrentmonitor (конечно latest)

 

2 Запустить контейнер. Я рассмотрю с помощью мастера (UI).

8618_900.png

3 Шаг 1 мастера Даем имя - допустим torrentmonitor2, пробрасываем из контейнера порт 80. Я пробросил 52080.

8706_900.png

4 Шаг 2 создаем ярлык на рабочий стол вида http://SynologyIP:52080/torrentmonitor/index.php SynologyIP - подставляете IP адрес своего NAS. Порт из предыдущего шага.

9048_900.png

5 Шаг Резюме - Сразу лезем в дополнительные настройки и пробрасываем общие папки (для базы данных и файлов торрентов).

9460_900.png

Для примера создаем на NAS /docker/tm2/db. Привязываем к ней папку контейнера /usr/share/nginx/html/torrentmonitor/db

Аналогично делаем папку для торрент файлов /docker/tm2/torrents /usr/share/nginx/html/torrentmonitor/torrents

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

Снимаем галки только для чтения.

 

6 Добавляем переменную среды и команду выполнения

PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

/sbin/my_init

 

10135_900.png

 

7 Собственно запускаем контейнер. Ждем чуть-чуть и через ярлык на рабочем столе DSM или напрямую через браузер по ссылке http://SynologyIP:52080/torrentmonitor/index.php заходим в TorrentMonitor.

 

 

Теперь ложки дегтя:

1 Не смог настроить общение нескольких контейнеров или общение через хост.

Соответственно не смог подключить контейнер TorrentMonitor к контейнеру Toronsyno и к Transmission через RPC.

У нас в DSM докер вроде обрезанный https://www.synology.com/ru-ru/knowledg ... ker/Docker и соответственно с add-host, dns, dns-search вроде как в пролете.

Ссылки настраиваются через UI, но как то у меня с ссылкой на toronsyno не склеилось.

Это все технические сложности т.к. прокси можно выбрать из бесплатных https://hideme.ru/proxy-list/, а общение с торрент качалкой организовать через директорию с торрент файлами.

 

2 Кажется не совсем корректно работает крон (по умолчанию установлен запуск раз в час).

 

3 Возможно существует проблема с правами доступа на папку с торрент файлами torrents. Это не подтвердилось.

 

В любом случае наверно стоит это воспринимать скорее как бету.

 

Обсуждение: http://korphome.ru/TorrentMonitor/viewt ... t=10#p1448

 

Если есть какие-то конкретные предложения по улучшению, создавайте пожалуйста тикет в github - https://github.com/Nawa/torrentmonitor- ... zed/issues При этом по возможности нужно описать что нужно сделать и как это может выглядеть.

 

 

Прошу:

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

Если у вас получиться связать контейнеры Docker рассказать, как это можно сделать. Неважна как с роутером, грязными хаками или внимательным чтением документации.

Edited by Guest
Link to comment
Share on other sites

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

 

образ докера torrentmonitor устанавливается без особых проблем

[spoiler=]tm4.pngtm3.png

 

[spoiler=права доступа на папку с торрент файлами torrents]tm.png

 

[spoiler=крон работает]tm5.png

 

 

torrentmonitor трансмисию и делугу видит но поставить на закачку не может

[spoiler=ошибки]tm2.pngtm1.png

 

 

не понятно что прописывать в настройках в графе Адрес TorrentMonitor:

Адрес TorrentMonitor - с введением в систем RSS ленты и использования XML-RPC для работы с Transmission появилась необходимость передавать torrent-файлы между разными машинами в сети. Теперь все ссылки имеют вид http://адрес_ТМ/torrents/[tracker]_id.torrent. Не рекомендуется использовать адреса lo интерфейса.

как я понял это должен быть путь до папки где лежат торрент файлы и которая смонтирована к контейнеру

/usr/share/nginx/html/torrentmonitor/torrents

Link to comment
Share on other sites

Спасибо, что протестировали.

Из умного могу частично разъяснить только одно.

как я понял это должен быть путь до папки где лежат торрент файлы и которая смонтирована к контейнеру

/usr/share/nginx/html/torrentmonitor/torrents

Это папка со скаченными торрент файлами в докер контейнере.

"nawa https://github.com/Nawa/torrentmonitor- ... ADME-RU.md

при запуске используются volumes. Это что-то наподобие общих директорий между контейнером и хостовой машиной. Здесь два volume - один для базы, другой для скачанных торрент файлов. Смысл такой, что их можно использовать для бэкапа данных или если нужно стартануть контейнер с новой версией. Надеюсь это не понадобится, т.к. torrentmonitor обновляется сам, но лучше volumes использовать. После запуска контейнера и использования приложения в директориях path_to_data_folder/torrents и path_to_data_folder/db появятся файлы sqlite базы и файлы скачанных торрентов соответственно. Если все таки они не нужны, то можно просто убрать параметры с -v"

Соответственно при запуске -v path_to_data_folder/torrents:/usr/share/nginx/html/torrentmonitor/torrents

path_to_data_folder у меня в примере это папка/docker/tm2/db

папку /docker/tm2/db я создал вручную. Соответственно качалку торрентов можно настроить так, чтобы она эти файлы забирала и ставила на скачку.

Link to comment
Share on other sites

volume я сразу и создал и смонтировал эти две папки:

/usr/share/nginx/html/torrentmonitor/torrents
/usr/share/nginx/html/torrentmonitor/db

файлы sqlite базы и файлы скачанных торрентов появились

не понятно как торрент клиент эти файлы забирает и ставит на скачку и что прописывать в настройках в графе "Адрес TorrentMonitor"

[spoiler=]%D0%9C%D0%BE%D0%BD%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%BD%D0%B3-torrent-%D1%82%D1%80%D0%B5%D0%BA%D0%B5%D1%80%D0%BE%D0%B2-2014-01-27-14-55-28.jpg

 

но в новой версии ссылки имеют вид http://адрес_ТМ/torrents/[tracker]_id.torrent

 

для этого наверное нужно как то пробросить из контейнера не только volume но папки сервера nginx чтобы в итоге был доступ по ссылке http://...

смонтировать /usr/share/nginx/html/torrentmonitor/torrents в папку web у меня не получилось

Link to comment
Share on other sites

volume я сразу и создал и смонтировал эти две папки:

Код: Выделить всё

/usr/share/nginx/html/torrentmonitor/torrents

/usr/share/nginx/html/torrentmonitor/db

 

файлы sqlite базы и файлы скачанных торрентов появились

Если файлы торрентов в хосте появились, то можно обойтись без RPC. (хотя в итоге хочется с ним). Даже в родной качалке Syno, можно указать папку для наблюдения.

 

Transmission устанавливаем на хост через DSM из репозитария. Устанавливаем с помощью Центра пакетов transmission . В стандартном репозитарии его нет поэтому подключаем репозитарий сообщества synocommunity http://packages.synocommunity.com/ .

 

Пример файла с настройками Transmission (кажется это путь по линкам...)

/volume1/@appstore/transmission/var/settings.json

/usr/local/transmission/var/settings.json

Править только при выключенной службе (иначе изменения не сохраняются).

Пример у меня настроена "watch-dir": "/volumeUSB3/usbshare/transmission/Watch",

[spoiler=]

{
   "alt-speed-down": 7000,
   "alt-speed-enabled": true,
   "alt-speed-time-begin": 15,
   "alt-speed-time-day": 127,
   "alt-speed-time-enabled": true,
   "alt-speed-time-end": 705,
   "alt-speed-up": 7000,
   "bind-address-ipv4": "0.0.0.0",
   "bind-address-ipv6": "::",
   "blocklist-enabled": true,
   "blocklist-url": "http://www.example.com/blocklist",
   "cache-size-mb": 32,
   "dht-enabled": true,
   "download-dir": "/volumeUSB3/usbshare/transmission/Download",
   "download-queue-enabled": true,
   "download-queue-size": 5,
   "encryption": 1,
   "idle-seeding-limit": 30,
   "idle-seeding-limit-enabled": false,
   "incomplete-dir": "/volumeUSB3/usbshare/transmission/Incomplete",
   "incomplete-dir-enabled": true,
   "lpd-enabled": false,
   "message-level": 2,
   "peer-congestion-algorithm": "",
   "peer-id-ttl-hours": 6,
   "peer-limit-global": 200,
   "peer-limit-per-torrent": 50,
   "peer-port": 51413,
   "peer-port-random-high": 65535,
   "peer-port-random-low": 49152,
   "peer-port-random-on-start": false,
   "peer-socket-tos": "default",
   "pex-enabled": true,
   "pidfile": "/usr/local/transmission/var/transmission.pid",
   "port-forwarding-enabled": true,
   "preallocation": 1,
   "prefetch-enabled": 1,
   "queue-stalled-enabled": true,
   "queue-stalled-minutes": 30,
   "ratio-limit": 2,
   "ratio-limit-enabled": false,
   "rename-partial-files": true,
   "rpc-authentication-required": true,
   "rpc-bind-address": "0.0.0.0",
   "rpc-enabled": true,
   "rpc-password": "тут хэш вашего пароля",
   "rpc-port": 9091,
   "rpc-url": "/transmission/",
   "rpc-username": "тут ваш логин",
   "rpc-whitelist": "127.0.0.1",
   "rpc-whitelist-enabled": false,
   "scrape-paused-torrents-enabled": true,
   "script-torrent-done-enabled": false,
   "script-torrent-done-filename": "",
   "seed-queue-enabled": true,
   "seed-queue-size": 3,
   "speed-limit-down": 2000,
   "speed-limit-down-enabled": true,
   "speed-limit-up": 2000,
   "speed-limit-up-enabled": true,
   "start-added-torrents": true,
   "trash-original-torrent-files": false,
   "umask": 2,
   "upload-slots-per-torrent": 14,
   "utp-enabled": true,
   "watch-dir": "/volumeUSB3/usbshare/transmission/Watch",
   "watch-dir-enabled": true
}

 

 

Подробно расписывал @arh viewtopic.php?f=5&t=9942&start=60#p50737

Link to comment
Share on other sites

да, пожалуй управлять trannsmision через "watch-dir", должно сработать

только вот с правами бы разобраться на директории:

"download-dir":
"watch-dir":

 

кроме root и admin, появились ещё и 1000 и от тм 33

кому какие я уже запутался :roll:

Link to comment
Share on other sites

да, пожалуй управлять trannsmision через "watch-dir", должно сработать

только вот с правами бы разобраться на директории:

"download-dir":
"watch-dir":

кроме root и admin, появились ещё и 1000 и от тм 33

кому какие я уже запутался :roll:

Ну с правами у меня всегда тоже беда. Можно конечно все-всем. С другой стороны файлы в папку пишутся - пол проблемы решено. Для trannsmision из сообщества сейчас кажется спец группу завели sc-download . Можно для начала попробовать только ей права давать.

Link to comment
Share on other sites

У меня тут другая проблема проклюнулась. Крон у меня не работает. Я честно говоря не понимаю как с docker у одного работает у другого нет.

крон работает

Bob the Builder подскажите перезапускали контейнер через gui? Уже не знаю на что думать больше 24 часов и только следы запуска:

[spoiler=]9693_900.png

 

Link to comment
Share on other sites

В общем гайд в картинках нужно доработать. Bob the Builder молодец - все сделал сам и правильно. Пока нужно запускать из консоли - тогда с кроном все нормально. Команда запуска аля:

docker run -d -p 8080:80 --name=torrentmonitorRUN -v /docker/tm2/torrents:/usr/share/nginx/html/torrentmonitor/torrents -v /docker/tm2/db:/usr/share/nginx/html/torrentmonitor/db nawa/torrentmonitor

Link to comment
Share on other sites

download manager мне тоже нравится, всё из коробки и штатно, только вот к torrentmonitor его не прикрутишь :smile:

 

★★★update★★★

смотри следующий пост: "через папку слежения Download station можно перекрутить к torrentmonitor"

Edited by Guest
Link to comment
Share on other sites

download manager мне тоже нравится, всё из коробки и штатно, только вот к torrentmonitor его не прикрутишь :smile:

Редкий случай не точности Bob the Builder :razz:

Таки через папку слежения Download station можно перекрутить к torrentmonitor.

Просматриваемая папка torrent/NZB

"https://www.synology.com/ru-ru/knowledgebase/DSM/help/DownloadStation/download_setup

Укажите просматриваемую папку, за которой будет осуществляться мониторинг с помощью Download Station, чтобы автоматически создать задачи загрузки для файлов torrent/NZB, расположенных в этой папке.

Чтобы указать просматриваемую папку, выполните следующие действия:

 

Установите флажок Загружать файл torrent/NZB из просматриваемой папки автоматически.

Чтобы удалить файлы torrent/NZB после создания задач загрузок, установите флажок Удалить загруженные файлы torrent/NZB.

Нажмите Выбрать и выберите папку.

Нажмите кнопку Выбрать.

Нажмите OK.

"

Link to comment
Share on other sites

@PRIMAS4UNO

через папку слежения Download station можно перекрутить к torrentmonitor

ну да вообщето я об этом даже как то не подумал

Спасибо за подсказку! в этой связке(torrentmonitor+Download station) у меня только и завелось и прекрасно всё работает как и должно работать

Link to comment
Share on other sites

А у кого-нибудь получилось подружить эту штуку с DownloadStation через rpc?

подправил файлик /var/packages/DownloadStation/scripts/start-stop-status на предмет сохранения настроек (закоментировать строку 86)

ну и сам файл с настройками /var/packages/DownloadStation/etc/download/settings.json поправил на предмет работы rpc.

transgui цепляется и работает, а вот если добавить торент из монитора, то происходит логаут из синологии.

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

Link to comment
Share on other sites

А у кого-нибудь получилось подружить эту штуку с DownloadStation через rpc?

подправил файлик /var/packages/DownloadStation/scripts/start-stop-status на предмет сохранения настроек (закоментировать строку 86)

ну и сам файл с настройками /var/packages/DownloadStation/etc/download/settings.json поправил на предмет работы rpc.

transgui цепляется и работает, а вот если добавить торент из монитора, то происходит логаут из синологии.

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

История интересная, хотя и в этой теме офтопная. У вас rpc с паролем и по белому листу ip?

У меня сейчас время на эксперименты нет. А из коробки settings.json нет по указанному пути.

Думаю что проблема в настройках settings.json и в пользователе. Там настроек-то много.

нарыл http://www.tdblog.cn/m/?post=410

Re: BT Transmission settings.json resets on restart

- Stop 'Download Station' from 'Package Center'

- connect using SSH (putty) as root

- edit (i to insert, ESC :mad: to save&quit)

vi /var/packages/DownloadStation/scripts/start-stop-status

- comment line

rm ${PACKAGE_DIR}/etc/download/settings.json

- edit

vi /usr/syno/etc/packages/DownloadStation/download/settings.json

- change lines (rpc for Transmission Remote GUI)

"cache-size-mb":64,

"rpc-whitelist-enabled":false,

- Restart 'Download Station' from 'Package Center'

Link to comment
Share on other sites

  • 4 weeks later...

почему не сделать линк на контейнер с трансмишн? при линковке работает обращение по имени контейнера (вернее по имени линка). это стандартный функционал докер. отпишусь, как попробую)

Link to comment
Share on other sites

да. все работает. контейнер с торрентмонитор ликуется с контейнером трансмишн (я использовал образ linuxserver/transmission). в настройках управления торрент клиентом (rpc) указывается адрес <имя линка>:9091. в настройке Адрес TorrentMonitor указывается http://<адрес докер интерфейса (обычно 172.17.42.1)>:<порт, который вы пробросили из контейнера с торрентмонитор>/torrentmonitor/

Link to comment
Share on other sites

да. все работает. контейнер с торрентмонитор ликуется с контейнером трансмишн (я использовал образ linuxserver/transmission). в настройках управления торрент клиентом (rpc) указывается адрес <имя линка>:9091. в настройке Адрес TorrentMonitor указывается http://<адрес докер интерфейса (обычно 172.17.42.1)>:<порт, который вы пробросили из контейнера с торрентмонитор>/torrentmonitor/

Здорово. А я народ пугаю. Это потому, что у меня не получилось сделать линк на контейнер с toronsyno. Буду разбираться.

1 Попробуйте плиз линк на прокси с toronsyno работает? Переживает ли связка контейнеров перезагрузку. Народ вроде писал, что ip адреса у контейнеров скачут.

2 Линки делаете через WebGUI или SSH?

3 DSM у вас 5.2?

edit PS Кажется я про другие линки подумал... Что то пока запутался...

Link to comment
Share on other sites

Здорово. А я народ пугаю. Это потому, что у меня не получилось сделать линк на контейнер с toronsyno. Буду разбираться.

1 Попробуйте плиз линк на прокси с toronsyno работает? Переживает ли связка контейнеров перезагрузку. Народ вроде писал, что ip адреса у контейнеров скачут.

2 Линки делаете через WebGUI или SSH?

3 DSM у вас 5.2?

edit PS Кажется я про другие линки подумал... Что то пока запутался...

1. а почему он не будет работать? ip адреса действительно скачут, но в этой схеме используется имя линка, которое во внутренней сети докер выступает в роли доменного имени контейнера и не зависит от его ip. второй ip - это адрес внешнего интерфейса докер, а он не меняется.

2. все делал через вебгуи

3. да

насчет пс. вот содержимое файла хостс к которому прилинкован контейнер с трансмишн

root@tm:/# cat /etc/hosts
172.17.0.5      tm
127.0.0.1       localhost
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.7      transmission.local transm transm

обратите внимание на последнюю строку. она там появилась именно потому, что к контейнеру tm прилинкован контейнер transm с с лейблом линка transmission.local

Link to comment
Share on other sites

  • 1 month later...
  • XPEH locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...