synology.forum архив спільноти · 2005–2022
ai.synology.forum →
ГлавнаяDocker › transmission в Docker

transmission в Docker

evsasha · 10.01.2018

Купил NAS DS918+, пакета transmission для него не нашёл.

Поэтому запустил два контейнера, один простой transmission (на постоянной основе), второй с transmission + VPN (пока в виде теста/игрушки).

 

Решил поделиться, т.к. результат ни в чём не уступает пакету синолоджи, а в чём то и превосходит и тем у кого есть поддержка Docker нет смысла ждать отдельного пакета.

 

Простой transmission

https://github.com/linuxserver/docker-transmission

 

Описана версия 25.07.17

 

Плюсы:

* Маленький образ

* Кушает мало памяти

* Все директории и конфиги выносятся на файловую систему

* Работает всё, включая блеклисты

 

Минусы:

* На данный момент минус только один - не сохраняются настройки при остановке/перезапуске контейнера.

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

Разработчики знают об этой проблеме но пока не решили. В целом минус спорный, т.к. достаточно одни раз настроить конфиг и забыть о нём.

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

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

 

transmission + VPN

https://github.com/haugene/docker-transmission-openvpn

 

Плюсы:

* Ну конечно самый большой плюс, это то, что весь трафик будет завёрнут в VPN!

* Это всё тот-же transmission

 

Минусы:

* Большой образ (порядка 300 мегабайт), при этом сам контейнер небольшой.

Размер образа обусловлен различным дополнительным функционалом.

* Не проверял, но видимо все настройки transmission устанавливаются как параметры при запуске контейнера, что не очень удобно.

* Из-за некоторых танцем с бубном вокруг добавления модуля tun в ядро, на NAS Synology автор предлагает установить контейнер как службу.

Инструкция прилагается. Я это решение не пробовал и вопрос автоматического добавления модуля tun в ядро детально не рассматривал (добавлял вручную).

 

Для обычного пользователя как я сказал выше приложение в контейнере ничем не отличается от пакета синолоджи, даже иконка на рабочем столе есть.

Быстрое, ресурсов кушает мало, обновляется регулярно.

Если кого-то заинтересует - можно будет написать гайд как поставить эту красоту.

 

 

umount · 10.01.2018

Ставил некоторое время назад, тестил, замечательно работает - http://www.synology.forum/index.php?s=&...ost&p=64322

 

Купил NAS DS918+, пакета transmission для него не нашёл.

В смысле? "Центр пакетов -> Сообщество". Конечно, если добавлен источник http://packages.synocommunity.com/

 

Если кого-то заинтересует - можно будет написать гайд как поставить эту красоту.

По-моему, иметь на форуме актуальный гайд, типа - http://sybdata.com/nas-builder/transmission-setup/ - дело хорошее.

 

polanat · 11.01.2018
Купил NAS DS918+, пакета transmission для него не нашёл.

Ссылку на Гитхабе я приводил

 

Поэтому запустил два контейнера, один простой transmission (на постоянной основе), второй с transmission + VPN (пока в виде теста/игрушки)

Вариант через докер даже лучше (при наличии соответствующих ресурсов)

 

В смысле? "Центр пакетов -> Сообщество". Конечно, если добавлен источник http://packages.synocommunity.com/

Архитектура apollolake там пока отсутствует - об этом неоднократно писал здесь на форуме ;)

umount · 11.01.2018
Архитектура apollolake там пока отсутствует - об этом неоднократно писал здесь на форуме ;)

Не отслеживал спецификации новинок, "был не прав, вспылил..." ;) Значит Docker вообще в тему.

evsasha · 11.01.2018
Ставил некоторое время назад, тестил, замечательно работает - http://www.synology.forum/index.php?s=&...ost&p=64322

Да это именно тот же образ который я описал.

Получается что гайд по нему уже есть:

По-моему, иметь на форуме актуальный гайд, типа - http://sybdata.com/nas-builder/transmission-setup/ - дело хорошее.

Гайд хороший.

 

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

 

1. Создал пользователя, группу и папки для transmission.

 

Создавал обычным способом - инструментами DSM (так же как в гайде)

 

2. Создал на файловой системе скрипт для создания/пересоздания контейнера:

 

#!/bin/bash
docker kill transmission
docker rm transmission
docker run \
-d \
--name=transmission \
--restart=always \
-v /volume1/Transmission/config:/config \
-v /volume1/Transmission/downloads:/downloads \
-v /volume1/Transmission/watch:/watch \
-e PGID=64444 -e PUID=1444 \
-e TZ=Europe/Moscow \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
linuxserver/transmission

 

3. Запустил скрипт без параметра -d (запуск как демона)

 

Без этого параметра вывод работы контейнера идёт в консоль и хорошо видно работает ли всё так как надо или нет.

 

Отладил. Убедился что всё работает корректно. Вернул -d обратно.

 

4. Вернулся в DSM

 

Ограничил ресурсы контейнера.

Пробросил порт 51413 на маршрутизаторе (этого в гайде нет).

Создал иконку на рабочем столе.

 

5. На файловой системе изменил конфиг transmission под свои нужды и перезапустил контейнер

 

dedmozor · 14.01.2018

Доброго времени суток.

 

Подскажите, а как у вашего docker/transmission обстоят дела с поиском пиров для отдачи уже скачанных раздач? У меня установлен вроде бы он же linuxserver/transmission, в общем все устраивает, но не нравится как он сидирует (подключается 3-4 пира), субьективно это очень мало в сравнении с пакетом transmission от сообщества который был установлен ранее (от него пришлось отказаться - стал самопроизвольно отключаться).

 

В логах вот такая ругань:

Port Forwarding State changed from "Starting" to "???" (port-forwarding.c:92)
Changed open file limit from 524288 to 1024 (fdlimit.c:380)
UDP Please add the line "net.core.wmem_max = 1048576" to /etc/sysctl.conf (tr-udp.c:100)
UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:95)
UDP Please add the line "net.core.rmem_max = 4194304" to /etc/sysctl.conf (tr-udp.c:89)
UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:84)

evsasha · 14.01.2018
Доброго времени суток.

 

Подскажите, а как у вашего docker/transmission обстоят дела с поиском пиров для отдачи уже скачанных раздач? У меня установлен вроде бы он же linuxserver/transmission, в общем все устраивает, но не нравится как он сидирует (подключается 3-4 пира), субьективно это очень мало в сравнении с пакетом transmission от сообщества который был установлен ранее (от него пришлось отказаться - стал самопроизвольно отключаться).

 

В логах вот такая ругань:

Port Forwarding State changed from "Starting" to "???" (port-forwarding.c:92)
Changed open file limit from 524288 to 1024 (fdlimit.c:380)
UDP Please add the line "net.core.wmem_max = 1048576" to /etc/sysctl.conf (tr-udp.c:100)
UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:95)
UDP Please add the line "net.core.rmem_max = 4194304" to /etc/sysctl.conf (tr-udp.c:89)
UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:84)

 

Привет, давайте по порядку:

1 - Что именно не нравится, количество пиров или итоговая скорость с которой раздачи отдаются?

2 - О каких скоростях и объемах идет речь?

3 - Какие настройки относительно скоростей/ пиров в конфиге?

 

Это были общие вопросы. Теперь по логам:

 

Port Forwarding State changed from "Starting" to "???" (port-forwarding.c:92

 

Порт у Вас открыт? Вы его на маршрутизаторе вручную или через Upnp открывали?

Что у вас в Edit Preferenses --> Newtwork?

* Порт должен быть 51413 или тот который вы в контейнер пробрасывали

* Не должен порт случайным быть при старте

* Порт должен быть открыт

* uTP for peer commmunication - должно быть включено

 

В частности интересны следующие настройки (какие у Вас?):

    "encryption": 2,
    "peer-limit-global": 200,
    "peer-limit-per-torrent": 50,
    "peer-port": 51413,
    "peer-port-random-on-start": false,
    "port-forwarding-enabled": true,
    "speed-limit-up": 3000,
    "speed-limit-up-enabled": true,
    "upload-slots-per-torrent": 14,

Дальше я думаю пока нет смысла смотреть лог.

Откройте порт если не открыт и посмотрите еще раз логи.

 

 

 

dedmozor · 15.01.2018

Здравствуйте.

 

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

Например на 12 раздачах в среднем подключено 3 пира со скоростью от 15 до 200 кб/с при ширине 1875 кб/с. Или, например, один на максимальной скорости.

 

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

 

В настройках settings.json порт зафиксирован, выбор случайного порта отключен. Для уверенности в том, что порт открыт - проверял сторонним сервисом https://portchecker.co/check

 

А могли бы Вы, пожалуйста, показать логи своего transmission? Я немного погуглил параметры из логов, насколько понимаю в Alpine они целенаправленно ограничены, что бы не нагружать систему т.к. дистрибутив Alpine наценел на малопроизводительные системы..

 

По конфигу у меня так:

"encryption": 1,
"peer-limit-global": 240,
"peer-limit-per-torrent": 60,
"peer-port": 51413,
"peer-port-random-on-start": false,
"port-forwarding-enabled": true,
"speed-limit-down": 100,
"speed-limit-down-enabled": false,
"speed-limit-up": 100,
"speed-limit-up-enabled": false,
"upload-slots-per-torrent": 14,

"alt-speed-down": 3584,
"alt-speed-enabled": true,
"alt-speed-time-begin": 480,
"alt-speed-time-day": 127,
"alt-speed-time-enabled": true,
"alt-speed-time-end": 1439,
"alt-speed-up": 1875,

polanat · 15.01.2018
дистрибутив Alpine наценел на малопроизводительные системы..

Архитектура alpine присутствует в SynoCommunity. Вопрос на засыпку - у Вас 6-ка и штатный пакет из репо не запускался?

 

PS Из всей линейки alpine докер доступен только для DS1515+

dedmozor · 15.01.2018
Архитектура alpine присутствует в SynoCommunity. Вопрос на засыпку - у Вас 6-ка и штатный пакет из репо не запускался?

 

PS Из всей линейки alpine докер доступен только для DS1515+

 

Данный образ для докер собран на Alpine 3.7

У меня DSM 6.1.4-15217 Update 5.

Штатный пакет (https://synocommunity.com/package/transmission) запускается, но проблема в том что он рандомно стал отключаться (кажется несколько обновлений DSM назад).

Я писал скрипт, проверяющий работу процесса, и перезапускающий процесс если тот остановлен, но это костыли и мой внутренний перфекционист против такого решения.

evsasha · 15.01.2018
Данный образ для докер собран на Alpine 3.7

У меня DSM 6.1.4-15217 Update 5.

Штатный пакет (https://synocommunity.com/package/transmission) запускается, но проблема в том что он рандомно стал отключаться (кажется несколько обновлений DSM назад).

Я писал скрипт, проверяющий работу процесса, и перезапускающий процесс если тот остановлен, но это костыли и мой внутренний перфекционист против такого решения.

 

У меня докер собран на Alpine 3.6. Но не думаю что дело в этом.

Пиров и правда подключается не много, 6 максимум видел, но при это 1 пир может качать 3 МБ (Мегабайта) в секунду..

Я к тому что проблема не в количестве пиров.

 

У меня есть предположение, что пользователь для syno-transmission и для docker transmission у Вас один и тот же.

Т.е вы просто снесли стандартный пакет и запустили докер контейнер под тем же пользователем, так?

 

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

Возможно это нехорошее "наследие".

 

Вот что-то похожее

https://ubuntuforums.org/showthread.php?t=1788211

 

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

https://forums.bunsenlabs.org/viewtopic.php?id=3976

 

Вот для сравнения что у меня в /etc/sysctl.conf (DS918)

kernel.panic = 3
net.core.somaxconn = 65535
net.ipv4.tcp_tw_reuse  = 1

 

А это лимиты для пользователя transmission

core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14912
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 14912
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

 

dedmozor · 15.01.2018

Мне кажется, что ограничение буфера не позволяет transmission развернуться на полную и все доступные подключения занимают не слишком быстрые пиры. Если раньше, в пакетном transmission, пиров могло подключаться много, то соотношение медленных и быстрых не так бросалось в глаза. Кстати говоря это еще приводит к тому, что из большого количества раздач сидируется всего несколько. Например сейчас я вижу что из 16 раздач на 5 есть пиры, но отдаю только двум разрачам.

 

Я читал на каком-то форуме (не сохранил ссылку), у товарища под линукс (не в docker) были схожие проблемы с раздачами в transmission, ему помогло увеличение значения размера буфера - как раз на что ругается transmission внутри docker.

Идея поиграться с изменением настроек у меня была, но пока не знаю как это осуществить - влезть внутрь образа docker, подкрутить настройки в Alpine, их там сохранить и потом перезапустить образ. ДУмаю это только автору образа под силу.

 

Насчет пользователя от которого происходит запуск врядли, докер работает под админом. Пакетный transmission кажется создавал для себя отдельного пользователя и группу. Но попробовать от рута можно. У download station проблем с сидированием нет никаких.

 

Гонял, кстати, deluge в docker, тоже на Alpine от тех же авторов, с сидированием та же история - очень мало пиров.

 

Думаю поискать и попробовать поставить docker образ с transmission собранный не на Alpine, а более тяжеловесном дистрибутиве.

 

За ссылки и настройки спасибо, почитаю.

evsasha · 16.01.2018
Мне кажется, что ограничение буфера не позволяет transmission развернуться на полную и все доступные подключения занимают не слишком быстрые пиры. Если раньше, в пакетном transmission, пиров могло подключаться много, то соотношение медленных и быстрых не так бросалось в глаза. Кстати говоря это еще приводит к тому, что из большого количества раздач сидируется всего несколько. Например сейчас я вижу что из 16 раздач на 5 есть пиры, но отдаю только двум разрачам.

 

Я читал на каком-то форуме (не сохранил ссылку), у товарища под линукс (не в docker) были схожие проблемы с раздачами в transmission, ему помогло увеличение значения размера буфера - как раз на что ругается transmission внутри docker.

Идея поиграться с изменением настроек у меня была, но пока не знаю как это осуществить - влезть внутрь образа docker, подкрутить настройки в Alpine, их там сохранить и потом перезапустить образ. ДУмаю это только автору образа под силу.

 

Насчет пользователя от которого происходит запуск врядли, докер работает под админом. Пакетный transmission кажется создавал для себя отдельного пользователя и группу. Но попробовать от рута можно. У download station проблем с сидированием нет никаких.

 

Гонял, кстати, deluge в docker, тоже на Alpine от тех же авторов, с сидированием та же история - очень мало пиров.

 

Думаю поискать и попробовать поставить docker образ с transmission собранный не на Alpine, а более тяжеловесном дистрибутиве.

 

За ссылки и настройки спасибо, почитаю.

 

Попробуйте создать отдельного пользователя и с его правами запустить образ. У меня образ запущен от отдельного пользователя (transmission), который больше ничего не делает.

 

dedmozor · 06.02.2018
Попробуйте создать отдельного пользователя и с его правами запустить образ. У меня образ запущен от отдельного пользователя (transmission), который больше ничего не делает.

 

Перевесил transmission на отдельного пользователя, ситуацию с количеством пиров это не изменило, но методологически так правильно.

Попробовал образ transmission на ubuntu, вместо alpine - ругань в логах так и осталась.

Чуть чуть оттюнинговал настройку tcp в synology - trasnmission ругаться перестал. Но пиров вроде больше не стало, что-то раздается почти всегда. В общем привык уже.

evsasha · 06.02.2018
Перевесил transmission на отдельного пользователя, ситуацию с количеством пиров это не изменило, но методологически так правильно.

Попробовал образ transmission на ubuntu, вместо alpine - ругань в логах так и осталась.

Чуть чуть оттюнинговал настройку tcp в synology - trasnmission ругаться перестал. Но пиров вроде больше не стало, что-то раздается почти всегда. В общем привык уже.

То есть в логах теперь нет ошибок сетевого уровня? Это хорошо.

Напишите что и где подкрутили, для истории.

Кстати отключите DHT, если не хотите чтобы с Вашей машинки собирали статистику: https://iknowwhatyoudownload.com

Правда так еще меньше пиров будет, но это зависит от провайдера.

 

dedmozor · 06.02.2018

https://blog.actinoide.de/sysctl-on-synology/

 

/etc.defaults/sysctl.conf
kernel.panic = 3  
net.core.somaxconn = 65535  
net.core.wmem_max = 12582912  
net.core.rmem_max = 12582912  
net.ipv4.tcp_rmem = 10240 87380 12582912  
net.ipv4.tcp_wmem = 10240 87380 12582912  
net.ipv4.tcp_window_scaling = 1  
net.ipv4.tcp_timestamps = 1  
net.ipv4.tcp_mtu_probing = 1  
net.ipv4.tcp_base_mss = 1024 

 

При обновлении DSM параметры слетят.

umount · 28.11.2018
По-моему, иметь на форуме актуальный гайд, типа - http://sybdata.com/nas-builder/transmission-setup/ - дело хорошее.

 

Там уже пусто. Никто не богат гайдом с фото или живой ссылкой?

 

evsasha · 29.11.2018
Там уже пусто. Никто не богат гайдом с фото или живой ссылкой?

 

Распишу еще раз подробно, чтобы осталось.

 

Сам уже давно перешел на связку docker + transmission + openvpn.

Советую присмотреться:

https://github.com/haugene/docker-transmission-openvpn

 

Transmission в Docker

 

1. Создание пользователя

 

Сначала необходимо создать пользователя и группу ОС, под которым будет запускаться Transmission.

 

Пользователь создаётся через интерфейс DSM:

Панель управления --> Пользователь --> Создать

Создайте пользователя с именем transmission (или любым другим).

Сгенерируйте случайный пароль и поставьте галочку "Пароль всегда разрешён".

 

Примечание:

По умолчанию пользователь будет создан в группе users.

Можно на этом остановиться. Но я рекомендую создать одноименную группу - transmission и включить пользователя в неё.

 

2. Создание общей папки

 

Теперь необходимо создать общую папку в которой Transmission будет хранить данные.

Общая папка создаётся через интерфейс DSM:

Панель управления --> Папка общего доступа --> Создать

Создайте папку общего доступа с именем transmission (или любым другим).

 

Примечание:

По умолчанию у приложения Docker уже есть общая папка с именем docker и можно использовать её для хранения данных transmission.

Но если делать красиво и правильно - рекомендуется создать отдельную общую папку.

 

3. Назначить пользователя владельцем папки общего доступа

 

Дайте пользователю transmission права на чтение и запись в папке общего доступа (тот папки которую выбрали для хранения данных).

Общая папка создаётся через интерфейс DSM:

Панель управления --> Папка общего доступа --> < Выбираете свою папку > --> Редактировать --> Разрешения

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

 

3. Запуск контейнера

 

Теперь самое интересное.

 

Заходим по ssh на NAS с учёткой админа или пользователя с правами SUDO. Как пользоваться ssh подробно описывать не буду.

Создаем в любом месте, обычно в домашней директории пользователя файл docker-transmission.sh со следующим содержимым:

 

#!/bin/bash

# Docker
docker kill transmission
docker rm transmission
docker run \
-d \
--name=transmission \
--restart=always \
-v /volume1/transmission/config:/config \
-v /volume1/transmission/downloads:/downloads \
-v /volume1/transmission/watch:/watch \
-e PGID=65537 -e PUID=1027 \
-e TZ=Europe/Moscow \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
linuxserver/transmission:latest

 

Файл можно запускать повторно, тогда контейнер пересоздастся. Для этого и добавлены команды kill и rm.

 

Настройки контейнера:

--name=transmission - имя контейнера, можете указать любое

--restart=always - перезапускать в случае сбоя, обязательная настройка

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

В примере выше конфиги transmission лежат в директории transmission, а сами торренты в downloads.

-e PGID=65537 -e PUID=1027 - id пользователя и группы transmission, узнать можно с помощью команды: id <имя_пользователя>.

Здесь нужно указать id именно вашего пользователя и группы.

-e TZ=Europe/Moscow - выставление часового пояса

-p - блок сопоставления портов

В этом блоке вы указываете <порт_NAS>:<порт_контейнера>. Если нет специальных требований - оставьте как у меня.

linuxserver/transmission:latest - название самого образа.

 

Назначаете файлу права на выполнение:

chmod +x docker-transmission.sh

 

Выполняете:

sh docker-transmission.sh

 

Если что-то не получается и надо отладить - уберите -d \ и лог запуска будет выводиться в консоль.

 

После успешного запуска управлять контейнером можно через DSM, терминал больше не нужен.

 

Чтобы управлять с компьютера рекомендую Transmission GUI:

https://github.com/transmission-remote-gui/transgui

https://github.com/transmission-remote-gui/...ses/tag/v5.15.4

 

UPD. Убрал часть с TUN/TAP драйвером, т.к. эта часть нужна только для настройки работы контейнера через VPN.

umount · 01.12.2018

Поскольку сайт с инструкцией не работает, а найти копию в Интернетах не удалось, попробуем сделать свой гайд по установке контейнера "linuxserver/transmission" в приложении "Docker" исключительно средствами DSM, то есть без командной строки и скриптов.

 

Открываем приложение "Центр пакетов".

Устанавливаем приложение "Docker". При установке автоматически будет создана общая папка "docker".

 

Открываем приложение "Папка общего доступа".

Выбираем общую папку "docker" и нажимаем "Редактировать -> Разрешения". Там проверяем наличие разрешения на "Чтение/Запись" для тех пользователей, которые будут работать с "transmission" (по умолчанию - доступно для участников группы "administrators"). Создавать отдельного пользователя не обязательно (см.* ниже).

 

Открываем приложение "File Station".

Переходим в общую папку "docker". В ней "Создать -> Создать папку" создаем папку "transmission". Переходим в эту папку и в ней создаем еще 3 папки: "config", "downloads" и "watch".

 

Открываем приложение "Docker".

В разделе "Реестр" в строке поиска вводим "transmission" и находим образ "linuxserver/transmission":

 

http://i12.pixs.ru/storage/3/5/4/072png_6080510_31018354.png

 

Выбираем его и нажимаем "Загрузить".

В запросе выбора тега выбираем тег "latest" (он по умолчанию):

 

http://i12.pixs.ru/storage/3/6/7/082png_2897944_31018367.png

 

Образ будет автоматически загружен (37 MB) и отобразится в разделе "Образ".

Переходим в раздел "Образ". Там выбираем образ "linuxserver/transmission:latest" и нажимаем "Запустить".

В открывшемся окне отмечаем чекбокс "Активировать ограничение ресурсов" (по желанию) и нажимаем "Дополнительные настройки":

 

http://i12.pixs.ru/storage/3/5/0/09png_5801976_31018350.png

 

В закладке "Дополнительные настройки" отмечаем чекбокс "Включить автоматический перезапуск":

 

http://i12.pixs.ru/storage/3/5/4/02png_7472685_31010354.png

 

Не нажимая применить, переходим в закладку "Том". Там нажимаем "Добавить папку". Выбираем ранее созданную папку "docker/transmission/config" и прописываем для нее путь для подключения в виде "/config". Не нажимая применить, добавляем по аналогии папки "downloads" и "watch". Должно получиться так:

 

http://i12.pixs.ru/storage/4/4/4/031png_8954271_31018444.png

 

Не нажимая "Применить", переходим в закладку "Настройки портов".

Там нажимаем на "Авто" в колонке "Локальный порт" и указываем локальный порт 51413 для порта контейнера 51413 TCP. Аналогично указываем локальный порт 9091 для порта контейнера 9091 TCP. Нажимаем на плюс и указываем локальный порт 51413 для порта контейнера 51413 UDP. Было так:

 

http://i12.pixs.ru/storage/3/9/1/040png_7637775_31010391.png

 

Стало так:

 

http://i12.pixs.ru/storage/3/9/9/041png_8313606_31018399.png

 

Теперь нажимаем "Применить" и "Далее".

Читаем резюме и, если все верно, вновь нажимаем "Применить":

 

http://i12.pixs.ru/storage/4/3/0/051png_1416620_31018430.png

 

В закладке "Контейнер" видим работающий контейнер:

 

http://i12.pixs.ru/storage/4/0/6/06png_9900754_31010406.png

 

Заданные при настройке параметры можно изменить, для чего надо остановить контейнер, нажать "Редактировать" и изменить нужный параметр.

 

*На самом деле алгоритм установки можно изменить:

- можно создать отдельного пользователя для этого контейнера, например "transmission" или как-то еще - неважно, или дать доступ целой группе;

- можно не создавать папку "transmission" в общей папке "docker", а сразу создать в ней папки "config", "downloads" и "watch";

- можно создать общую папку "transmission" и в ней папки "config", "downloads" и "watch";

- можно "играть" с портами под свои "хотелки".

 

P.S.: Спасибо evsasha за ответы и помощь в обнаружении ошибки в настройке!

P.S.S.: На части скринов "linuxserver-transmission2", на последнем - "linuxserver-transmission1". Это не имеет никакого значения, просто так было удобнее скрины делать.

freewind · 02.12.2018
Поскольку сайт с инструкцией не работает, а найти копию в Интернетах не удалось, попробуем сделать свой гайд по установке контейнера "linuxserver/transmission" в приложении "Docker" исключительно средствами DSM, то есть без командной строки и скриптов.

Дополню.

Можно добавить любые папки, прописав их в секции том (задав внутренний и внешний пути.

 

Чтобы папка была доступна на запись (папка отличная от docker), на нее нужно дать права пользователя virtualization, иначе работать не будет.

evsasha · 02.12.2018
Дополню.

Можно добавить любые папки, прописав их в секции том (задав внутренний и внешний пути.

 

Чтобы папка была доступна на запись (папка отличная от docker), на нее нужно дать права пользователя virtualization, иначе работать не будет.

 

Привет, на DSM 6.2.1-23824 Update 1 нет никакого дополнительного пользователя virtualization и связанных с ним ограничений.

Может быть это особенность конкретной модели/прошивки, какая у Вас?

freewind · 02.12.2018
Привет, на DSM 6.2.1-23824 Update 1 нет никакого дополнительного пользователя virtualization и связанных с ним ограничений.

Может быть это особенность конкретной модели/прошивки, какая у Вас?

1. Модель в подписи. Прошивка наисвежайшая.

2. Похоже вы не там пользователя смотрите...

http://i12.pixs.ru/storage/9/7/4/Bezimyanni_6272970_31013974.png

 

А это пути в докере для чтения и записи

http://i12.pixs.ru/storage/9/8/6/Bezimyanni_9361124_31013986.png

 

Без права пользователя докера доступа на запись - не будет.

evsasha · 03.12.2018
1. Модель в подписи. Прошивка наисвежайшая.

2. Похоже вы не там пользователя смотрите...

 

Без права пользователя докера доступа на запись - не будет.

 

Да, пользователя нашёл.

 

Но у меня пользователь по умолчанию входит в группу администраторов и наследует её права, прямого доступа конкретному пользователю специально я не давал.

freewind · 05.12.2018
Да, пользователя нашёл.

 

Но у меня пользователь по умолчанию входит в группу администраторов и наследует её права, прямого доступа конкретному пользователю специально я не давал.

 

Пользователю virtualization админские права??????? Да вы смелы безмерно.... Это не просто дырка в безопасности. это прямое приглашение всем в гости... (что крутится в докере не знает никто, он потому и изолирован)

evsasha · 05.12.2018
Пользователю virtualization админские права??????? Да вы смелы безмерно.... Это не просто дырка в безопасности. это прямое приглашение всем в гости... (что крутится в докере не знает никто, он потому и изолирован)

 

Я всего лишь хочу сказать, что у меня, на DS918+:

1 - Пользователь Virtualization по умолчанию входил в группу administrators, специально я его туда не включал. Предположу , что так задумали в Synology.

2 - Если заблокировать пользователю Virtualization доступ к директориям данных контейнера, часть функционала контейнера действительно перестаёт работать, много не экспериментировал, но похоже что так.

 

Т.е., то что Вам пришлось в явном виде давать пользователю доступ к директориям может быть по нескольким причинам:

  • особенность конкретной модели и прошивки для неё
  • привнесённое пользователем изменение (когда-то ранее исключили из группы)

 

Демон Docker запускается только с правами суперпользователя, иначе просто не работает (https://unix.stackexchange.com/questions/156938/why-does-docker-need-root-privileges)

Но из этого никак не следует, что "Это не просто дырка в безопасности. это прямое приглашение всем в гости..."

umount · 05.12.2018

С общей папкой 'Docker' таких вопросов не возникает - просто работает:

 

http://i12.pixs.ru/storage/8/5/0/userpng_7558770_31025850.jpg

karim · 20.12.2019

Добрый день!

Вопрос по смежной тематике, раз уж поднимаем контейнер, так почему бы не сделать еще кое что полезное.

 

Интересует телеграм бот:

https://github.com/pyed/transmission-telegram

 

А точнее связка transmission+open vpn +telegram bot.

 

Кто какие допы для. Transmission использует?

proteus · 02.03.2020
Добрый день!

Вопрос по смежной тематике, раз уж поднимаем контейнер, так почему бы не сделать еще кое что полезное.

Интересует телеграм бот:

https://github.com/pyed/transmission-telegram

А точнее связка transmission+open vpn +telegram bot.

Кто какие допы для. Transmission использует?

Добрый день

получилось настроить?

Отщепенец · 28.03.2020

Господа, возник вопрос:

Через браузер без проблем получаю удаленный доступ к transmission в doker, причем, без авторизации, что меня, конечно, смущает. Но при этом через transmission remote control доступ у меня только если подключен к локальной сети (в настройках сервера указан локальный ip) и тоже без авторизации.

Как поправить, включить авторизацию и удаленный доступ?

 

 

С авторизацией разобрался, прописал пользователя и пароль в settings.json руками (интересно, правильно ли так делать). Теперь в баузере просит авторизоваться с указанными данными в файле настроек. С удаленным доступом попрежнему странности, из браузера я без проблем получаю доступ, где бы не находился, и к какой бы сети не был подключен, но вот из transmission remote GUI доступ только если я в локальной сети дома, и в настройках сервера указал локальный ip.

freewind · 28.03.2020
Господа, возник вопрос:

Через браузер без проблем получаю удаленный доступ к transmission в doker, причем, без авторизации, что меня, конечно, смущает. Но при этом через transmission remote control доступ у меня только если подключен к локальной сети (в настройках сервера указан локальный ip) и тоже без авторизации.

Как поправить, включить авторизацию и удаленный доступ?

 

 

С авторизацией разобрался, прописал пользователя и пароль в settings.json руками (интересно, правильно ли так делать). Теперь в баузере просит авторизоваться с указанными данными в файле настроек. С удаленным доступом попрежнему странности, из браузера я без проблем получаю доступ, где бы не находился, и к какой бы сети не был подключен, но вот из transmission remote GUI доступ только если я в локальной сети дома, и в настройках сервера указал локальный ip.

 

Порты под TR на роутере пробросили?

Отщепенец · 28.03.2020
Порты под TR на роутере пробросили?

Конечно, это первое, что я сделал. В том-то и странность, что через браузер все работает. Я спокойно с любого телефона (ноутбука) захожу в веб-морду торренткачалки, находясь за пределами домашней сети, и подгружаю нужные мне торренты. Но приложения для удаленного управления transmission не работаю ни с ноутбука, ни с телефона, кроме как если, находясь в локальной сети (дома), в приложениях вбить в настройки локальный ip, логин и пароль,- вот тогда работает, но меня это не устраивает, потому как доступ нужен из внешней сети.

 

Начинаю думать, что проблема где-то на стороне роутера, как проверить, пока понять не могу.

freewind · 02.04.2020
Конечно, это первое, что я сделал. В том-то и странность, что через браузер все работает. Я спокойно с любого телефона (ноутбука) захожу в веб-морду торренткачалки, находясь за пределами домашней сети, и подгружаю нужные мне торренты. Но приложения для удаленного управления transmission не работаю ни с ноутбука, ни с телефона, кроме как если, находясь в локальной сети (дома), в приложениях вбить в настройки локальный ip, логин и пароль,- вот тогда работает, но меня это не устраивает, потому как доступ нужен из внешней сети.

 

Начинаю думать, что проблема где-то на стороне роутера, как проверить, пока понять не могу.

Вы через браузер на другой порт ходите...

artmingo · 29.06.2020

Перешел с нативного Transmission на linuxserver/transmission. Вроде бы все хорошо, однако скорость скачки упала с 20МБ о 10МБ и даже ниже.

Порт внешний открыт (проверял через Test port на Transmission Remote GUI, кстати, может как-то более правильно проверить?). Опции в settings.json сличил.

Процессор свободен, память тоже.

Как понять, в чем проблема? Посмотреть на флаги пиров? Не все порты открыты? Какие-то лимиты докера?

umount · 30.06.2020

Настроить в docker порт для DHT и открыть его в роутере?

xMiroRRside · 09.07.2020
Перешел с нативного Transmission на linuxserver/transmission.

Тоже хотел перейти, да вот только ipv6 не могу включить в Docker, точнее все включается, но Transmission рапортует "Невозможно подключиться к трекеру"

Creo2005 · 17.12.2020

Настроил (впервые) по Вашей инструкции трансмишн в Докере :) В связи с тем, что поставил DMS7 (218+)

Все получилось, закачал тестовый файл через транс ремоте гуи, все ок, но скачанного файла не могу найти :) Где искать?

umount · 17.12.2020
Все получилось, закачал тестовый файл через транс ремоте гуи, все ок, но скачанного файла не могу найти :) Где искать?

Под Linux в Transmission 2.94 в "Правка - Настройки - Загрузка" прописан каталог куда загружать.

Под Windows не помню, не пользуюсь, но что-то похожее должно быть.

alexgr13 · 07.04.2021
В 02.03.2020 в 11:41, proteus сказал:

Добрый день

получилось настроить?

Получилось с небольшими костылями.

  1. В докере добавил образ из докер хаба /kevinhalpin/transmission-telegram
  2. Зарегал телеграм бота через @BotFather
  3. Запустил бота вручную через ssh. Через gui не получилось, т.к. докер почему-то ругается на форматирование команды. Команда для запуска ниже. Что -master два раза - не ошибка, так можно добавить нескольких юзеров, которым бот будет отвечать. Заменяете звёздочки на ваши параметры и всё должно получиться

sudo docker run -d --name transmission-telegram \
kevinhalpin/transmission-telegram:latest \
-token=*** -master=*** -master=*** -url=http://***:***/transmission/rpc -username=*** -password=***

kream23 · 01.01.2022

Всем привет!

Подскажите плз - почему скаченное остается в Incomplete?

До сегодня юзал просто установленный spk и все работало. Увы, одна из прог на synology (не transmission) заявила, что пора бы ее апдейтить, заодно решил подняться до DSM7 - вот не зря почти год ждал и не хотел апдейтится - ибо после апдейта transmission перестал работать.

Нашел вот эту тему, что можно через docker завести. Настроил как и тут написано и вот тут еще тоже самое чуть попонятней показано. Веб-интерфейс заработал, торренты скачиваются - но, остаются в папке incomplete. Если важно - папку куда скачанное сохранять прописал не в docker, а в другую общедоступную папку - а там у меня несколько папок - одна для кино, другая для музыки - я при старте скачивания выбирал куда сохранять, ну привык так.

Так вот проблема такая, что скачанное не только не попадает в нужные подпапки, но и даже не перекладывается в папку complete - так и остается в папке incomplete. Думал, что ошибся в PGID/PUID, но вроде нет - прописал туда вообще администратора NAS, у него доступ во все папки должен быть на RW. Причем PGID прописал сначала, что Id -g отдает и оказалось, что это просто id группы users, поправил на id именно группы administrators - не помогло. На что еще смотреть/как исправить?

kream23 · 02.01.2022

Разобрался - пути некорректно прописал. В логах увидел, что может сохранить в /downloads/incomplete, но не может передвинуть файл в volume1/downloads/!music - а по сути это одно и тоже. Поменял папку в настройках на просто /downloads/!music (без volume1) - и вуаля, все заработало!