Transmission with Docker

  • Hello,

    On my side, the installation and so on was looking good and so I did a test with a "small" file of 200Mb... and ... at the end, the downloaded file was on my download folder on my external HD... so perfect...

    After more tests and the configuration of the sickgear docker... I see two problems:
    1. When I try to downlad larger file, I have an error message "no space left on device"... so I imagine that somewhere he is storing something on the SD card...
    2. When sickgear is storing something on my watch-dir (on the external HD)... transmission is just doing nothing.

    Any idea ?

    This is my service code

    Thank you,

    Edited once, last by kevtuning (July 30, 2016 at 4:36 PM).

  • Arghhh... tonight I don't understand anything...

    Nothing is working anymore...

    The last thing I had done was to remove the download in error in transmission...

    After that, I connect myself in ssh... in order to try to find a solution (see the previous post) and nothing is working anymore... No transmission, no sickgear...

    I had a message from docker when trying a

    Code
    docker info


    something like client version higher than server version...

    So I decided to simply reboot the Rpi.(with the simple reboot console command).. and after the reboot... no error on docker info (3 containers stopped)..

    So I have tried a lot of things... even

    Code
    [code]
    docker stop $(docker ps -a -q) docker rm $(docker ps -a -q)
    systemctl enable /storage/Dockerfiles-master/arm/transmission/tran
    smission.service
    systemctl start transmission


    [/code]

    And nothing is working...

    Code
    docker info
    Containers: 0
     Running: 0
     Paused: 0
     Stopped: 0

    When I do docker ps... after some seconds I see transmission... but if I recheck, docker ps => empty

    and

    Code
    # docker logs transmission
    Error: No such container: transmission

    HELP !


    Remark: I always have

    But even with this message, it was working "fine"

    Edited once, last by kevtuning (July 30, 2016 at 11:28 PM).

  • I found the logs... in journalctl

    and the error is coming from the port 45555:

    Code
    Jul 31 23:55:38 LibreELEC dockerd[14117]: time="2016-07-31T23:55:38.043808723+02:00" level=error msg="Handler for POST /v1.24/containers/a52685cd7c24ee39393f6c04feb9550
    a63d813906cb3141893308d0431214463/start returned error: driver failed programming external connectivity on endpoint transmission (5e88d063a02a85c00d73c8b6317764e4b5b0b3
    929fa193659693d7723e895e30): Bind for 0.0.0.0:45555 failed: port is already allocated"
    Jul 31 23:55:38 LibreELEC docker[20809]: /storage/.kodi/addons/service.system.docker/bin/docker: Error response from daemon: driver failed programming external connecti
    vity on endpoint transmission (5e88d063a02a85c00d73c8b6317764e4b5b0b3929fa193659693d7723e895e30): Bind for 0.0.0.0:45555 failed: port is already allocated.
    Jul 31 23:55:38 LibreELEC systemd[1]: [[0;1;39mtransmission.service: Main process exited, code=exited, status=125/n/a[[0m

    strange thing since I have restarted the docker service mutliple times... and even rebooted the host...

    And I do not see anything in netstat...

  • I have tried to unistall/re-install Docker... nothing change.

    I have tried to change the port 45555 to 5555 (in transmission.service, settings.json and Dockerfile) and this is the result:

    Quote


    time="2016-08-01T09:56:30.193078160+02:00" level=error msg="Handler for POST /v1.24/containers/f65578749469074ff874f7be40409e0
    46d1aa3791d93a03c9895c7b65696ce45/start returned error: oci runtime error: process_linux.go:334: running prestart hook 0 caused \"fork/exec /storage/.kodi/addons/servic
    e.system.docker/bin/dockerd (deleted): no such file or directory: \

    ==> I imagine that it is not the right way...

  • Arghhh new story, tonight... I don't know why... but it works... without having done anything...

    Code
    LibreELEC:~ # docker ps -a
    CONTAINER ID        IMAGE                       COMMAND             CREATED             STATUS              PORTS                                              NAMES
    db8e79d75f38        libreelecarm/transmission   "/start.sh"         12 hours ago        Up 12 hours         0.0.0.0:9091->9091/tcp, 0.0.0.0:45555->45555/tcp   transmission

    And he has grabbed all the thing that was put in my wath folder by sickgear...

    I imagine that at a tiime, the port 45555 was released by docker and so, system.d has created the container...

    Now, I have launched a test of 2Go... to verifiry that nothing is stored on the SD card... and after I reinstall sickgear... even if I don't see french-speaking trackers...

  • Same problem.

    A "play" a lot. I tried also to change the port number and even try to enable the random range.

    A lot of reboot to try if something changes. Then i rebember that some days ago i updated docker and probably i never check that transmission was working.

    Another docker update was waiting and i update (version 7.0.106) and this after a reboot solve the problem.

    I revert to the standard port settings

    Inviato dal mio LG-V500 utilizzando Tapatalk

  • Can this be done on AMLogic S905 devices running LE? To kinda be a part time/ idle Torrent downloader when not being used for Kodi? Maybe with Deluge daemon for scheduling and idle time downloading?

  • I have libreelec installed on the media player S805, mxq black. I would like to help, because I'm trying to run the transmission, but have not been successful. Could someone help of a detailed any better to make it work?

  • I have libreelec installed on the media player S805, mxq black. I would like to help, because I'm trying to run the transmission, but have not been successful. Could someone help of a detailed any better to make it work?


  • I have libreelec installed on the media player S805, mxq black. I would like to help, because I'm trying to run the transmission, but have not been successful. Could someone help of a detailed any better to make it work?

    I'm not sure if is possible to run the Docker addon at S805 due the kernel version.

    See release notes at
    LibreELEC (Jarvis) v7.0 BETA1 – LibreELEC

    Quote


    The Docker add-on is not available for WeTeK Play/Core which use an older (too old) Linux kernel.

    Have you installed docker from any other source?

    Edited once, last by CGarces (September 16, 2016 at 1:22 PM).

  • So wait.. To set the directory for transmission we change the systemd service file or we change the settings.json file?

    Because so far iv tried both.. my preferred downloads directory is on another drive so i set it like so:

    With no luck.. It will download but i have no idea where the files do. Apparently they are going to /downloads ... ?

    What's this part

    Code
    %p/watch:/watch \
    %p/downloads:/downloads \
    %p/incomplete:/incomplete \



    Mean't to be for?

    What about the path settings in transmission GUI now?

    Obviously I'm a bit new to all this docker stuff.. I was using just the stand alone addons which had very friendly GUI settings on the machine itself. But I updated to the alpha build of Librelec to see the changes made.

    Your time and patience assisting me is very much appreciated.

  • %p stands for prefix in the systemd service file and will be replaced by the service name eg. "transmission"

    You're paths don't make much sense to me but whatever, effectively your download path would be
    /var/media/Terra/Downloads/Completed/transmission/downloads

    however, transmission won't be able to download to this directory if it doesn't exist, so you should change the line

    Code
    ExecStartPre=-/bin/sh -c "mkdir -p /storage/%p/watch /storage/%p/downloads /storage/%p/incomplete


    to create all the directories you need, aka

    Code
    ExecStartPre=-/bin/sh -c "mkdir -p /var/media/Terra/Downloads/Watch/%p/watch /var/media/Terra/Downloads/Completed/%p/downloads /var/media/Terra/Downloads/Incomplete/%p/incomplete

    that being said I think you are better off just symlinking a folder on the filesystem like,

    Code
    ln -sf /var/media/Terra/Downloads/transmission /storage/transmission


    or something similar as you wouldn't have to make any changes to the systemd service file then.

  • You're paths don't make much sense to me but whatever, effectively your download path would be
    /var/media/Terra/Downloads/Completed/transmission/downloads

    So /var/media/Terra gets me to the drive i want.
    Downloads is my folder under Terra that has the 3 subfolders "Completed" "Watch" and Incomplete"

    if I'm understanding you right, following your first idea i would need to make a new Transmission folder that will contain 3 new subfolders for the "Completed" "Watch" and "Incomplete" folders.. Which i guess makes sense because then the program will definately have permissions for those folders.

    What does this make the paths in Transmission GUI?
    Originally "/var/media/Terra/Downloads/Completed=Z:\Downloads\Completed"

  • So /var/media/Terra gets me to the drive i want.
    Downloads is my folder under Terra that has the 3 subfolders "Completed" "Watch" and Incomplete"

    if I'm understanding you right, following your first idea i would need to make a new Transmission folder that will contain 3 new subfolders for the "Completed" "Watch" and "Incomplete" folders.. Which i guess makes sense because then the program will definately have permissions for those folders.

    What does this make the paths in Transmission GUI?
    Originally "/var/media/Terra/Downloads/Completed=Z:\Downloads\Completed"


    Keep in mind that transmission is running inside docker and will only see the paths passed through docker in the service file. Effectively transmission will only see /downloads /incomplete and /watch when the default service file is used

    Sent from my SCH-S738C using Tapatalk

    Edited once, last by Kingdomcome (September 21, 2016 at 12:02 AM).

  • Thanks Kingdom, I sort of get it now.. Because the docker is effectively a 'VM' it has its own "drive" where it lives and does not see anything else.. makes sense.

    So i tried this:

    Code
    ExecStartPre=-/bin/sh -c "mkdir -p /var/media/Terra/Downloads/Watch/%p/watch /var/media/Terra/Downloads/Completed/%p/downloads /var/media/Terra/Downloads/Incomplete/%p/incomplete /var/media/Terra/Downloads/Config/%p/config"

    those folders already exist obviously, But i guess this would effectively be 'symlinking' and making transmission aware that "/downloads" means "/var/media/Terra/Downloads/Completed"

    However when i tried to reload and restart i was given this error:

    Looks like a pretty simple syntax error. But i have not found it yet.