Transmission with Docker

  • Transmission starts operating using the "restart", but after a few seconds he falls back . I could only use "Stop" or "rm" , but do not know which is better. Until someone you can think of a better idea.

    Edited once, last by zequiqac (May 10, 2016 at 11:32 PM).

    • Official Post


    If you use the systemd service I provide the container should always be removed when it exits

    similar to

    Code
    docker run --rm transmission


    Hello lrusak!

    Hm... Apparently, for some reason, this does not appear to work systematically. I will document/assess when it reoccurs on my system.
    Edit:
    I found out!
    According to this, docker run --rm is used to automatically clean up the container and remove the file system when the container exits.
    This does therefore not handle the case where docker/transmission ends abormally.
    The systemd service you provide may thus be improved to remove any existing container before a new container is started.

    Incidentally, according to this, docker stop/kill is not appropriate to stop the transmission container, which is started with CMD ["/start.sh"].
    This shows in the docker log, e.g., when the service you propvide is restarted (Container ... failed to exit within 10 seconds of signal 15 - using the force).
    If this is indeed the case, the systemd service you provide may need to be corrected.
    I am unforttunately too new to docker to propose a solution.

  • Exactly , the problem occurs when the system is shut down is not the usual ( for example, by switching off the power ) . Maybe if it indicated in transmission.service the value "--restart=on-failure:5" ?? (this).
    With respect to stop container , maybe you can add "-f " to force the closure?. (ExecStop=/storage/.kodi/addons/service.system.docker/bin/docker stop -f %p).
    I can not find at home, I will try to return.

    • Official Post


    Exactly , the problem occurs when the system is shut down is not the usual ( for example, by switching off the power ) . Maybe if it indicated in transmission.service the value "--restart=on-failure:5" ?? (this).
    With respect to stop container , maybe you can add "-f " to force the closure?. (ExecStop=/storage/.kodi/addons/service.system.docker/bin/docker stop -f %p).
    I can not find at home, I will try to return.

    docker stop -f %p? Where is this documented?

    docker kill %p could maybe avoid the 10s grace period of docker stop. But this seems so brutal.

  • Sorry , I was added to ExecStop of transmission.service . Should be " docker stop -f transmission" ( -f is used with rm to remove containers that are running, also I have seen with stop, but not if it can be used ). Like you, unfortunately too new to docker to propose a solution.
    At the moment only add in autostart.sh line "docker rm $(docker ps -q -f status=exited)" to remove the containers in the excited state at startup. But it is not ideal...

    • Official Post


    Sorry , I was added to ExecStop of transmission.service . Should be " docker stop -f transmission" ( -f is used with rm to remove containers that are running, also I have seen with stop, but not if it can be used ). Like you, unfortunately too new to docker to propose a solution.
    At the moment only add in autostart.sh line "docker rm $(docker ps -q -f status=exited)" to remove the containers in the excited state at startup. But it is not ideal...

    docker rm %p and docker kill %p fix the issues, see e.g. here.
    I will PR the repository accordingly, if noone beats me at it ;)

  • It seems to me that whatever change I have made in the settings.json file, no change in Transmission occurs. Which file should I edit to change ports, directories, etc?

    • Official Post


    It seems to me that whatever change I have made in the settings.json file, no change in Transmission occurs. Which file should I edit to change ports, directories, etc?

    you can change ports and directories via the systemd service or via the docker run command line arguements

    for example, here is the service file

    change

    Code
    --volume=/storage/%p/downloads:/downloads \


    to

    Code
    --volume=/storage/somewhereelse/downloads:/downloads \


    the %p just stands for the service file prefix, in this case "transmission"

    and for changing the port you should change

    Code
    --publish=9091:9091 \


    to

    Code
    --publish=12345:9091 \

    I hope this helps.

    PS. after you change the service you will have to reload and restart (if using the systemd service)

    Code
    systemctl daemon-reload
    systemctl restart transmission
  • Good morning , I wanted to ask if someone suffering frostbite when the docker transmission is used? . In my case, I lose all connection with RPI2 (SSH , Yatse , CEC, SAMBA ) and not access to any WebUI (Transmission , SickRage , Couchpotato ) . Regardless of whether the transmission of downloading one or ten streams and always happens that x time (which can take two hours or thirty minutes), but always presented as a download in progress .
    If they can serve a LOG ( I guess so ) will be able to tell you what? ( KODI , system , etc ) .
    I'm using the latest Milhouse build in RPI2 and docker transmission by Irusak .
    Thank you very much.

  • Thought it might help to summarise the steps to get docker then transmission working from the repo:
    1. Ensure SSH enabled on LibreElec.

    2. Download the Docker addon from LibreElec repository.

    3. SSH into LibreElec IP address from remote computer user:root password:libreelec (Use Putty on windows)

    4. Once in Type these commands "wget master.zip"
    This action gets the latest docker files from lrusak

    5.Type "unzip master.zip"
    This action unzips the files

    6.Type "systemctl enable /storage/Dockerfiles-master/x86_64/transmission/transmission.service"
    This action enables the docker transmission service, so it starts on boot.

    7.Type "systemctl start transmission"
    This action Starts the docker transmission service

    8.From a remote computer navigate to LibreElec IP address x.x.x.x:9091
    If the transmission service install and start was succesful this should access the transmission WebUI

    Edited once, last by rangeyrover (June 2, 2016 at 1:34 PM).

  • Anybody with the same problem?

    After installation, when I introduce the code for enable the docker transmission service

    Code
    systemctl enable /storage/Dockerfiles-master/arm/transmission/transmission.service

    I get the following message from terminal (OS X):

    Code
    LibreELEC:~ # systemctl enable /storage/Dockerfiles-master/arm/transmission/transmission.service
    The unit files have no [Install] section. They are not meant to be enabledusing systemctl.Possible reasons for having this kind of units are:
    1) A unit may be statically enabled by being symlinked from another unit's .wants/ or .requires/ directory.
    2) A unit's purpose may be to act as a helper for some other unit which has a requirement dependency on it.
    3) A unit may be started when needed via activation (socket, path, timer, D-Bus, udev, scripted systemctl call, ...).

    After that I start the transmission service but refuse to connect via web browser.

    Any help?

    Thanks!

  • I got that, but the service was running. If you SSH in and use docker info or docker ps, does it tell you what containers are running?