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.
Transmission with Docker
-
zequiqac -
May 1, 2016 at 11:18 PM -
Thread is Unresolved
-
-
- Official Post
-
- Official Post
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
Code
Display More[Unit] Description=%p container Requires=service.system.docker.service After=service.system.docker.service [Service] Restart=always RestartSec=10s TimeoutStartSec=0 ExecStartPre=-/bin/sh -c "mkdir -p /storage/%p/watch /storage/%p/downloads /storage/%p/incomplete /storage/%p/config" ExecStart=/storage/.kodi/addons/service.system.docker/bin/docker run \ --rm \ --name=%p \ --hostname=libreelec-%p \ --volume=/storage/%p/watch:/watch \ --volume=/storage/%p/downloads:/downloads \ --volume=/storage/%p/incomplete:/incomplete \ --volume=/storage/%p/config:/config \ --publish=9091:9091 \ --publish=45555:45555 \ libreelecarm/%p ExecStop=/storage/.kodi/addons/service.system.docker/bin/docker stop %p [Install] WantedBy=multi-user.target
change
to
the %p just stands for the service file prefix, in this case "transmission"and for changing the port you should change
toI hope this helps.
PS. after you change the service you will have to reload and restart (if using the systemd service)
-
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. -
Thanks Irusak!
Your images do exactly what I was trying to do on OE. Same base image! Perfect!
Givint them a try.. -
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 lrusak5.Type "unzip master.zip"
This action unzips the files6.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 service8.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 -
Thanks, will the Transmission service automatically start up at each boot with that method?
-
- Official Post
Thanks, will the Transmission service automatically start up at each boot with that method?Yes it will.
-
Yes it will.
Brilliant, thanks
-
Brilliant, thanks
Hi,
Like others I found issues if the system was not shut down cleanly, with the docker container only starting briefly, after power off shutdown.
The changes proposed by awiouy to transmission.service
Fix the issues for me, tested with power off shutdowns not causing an issue.
Thanks
RR -
Anybody with the same problem?
After installation, when I introduce the code for enable the docker transmission service
I get the following message from terminal (OS X):
CodeLibreELEC:~ # 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!
-
Anybody with the same problem?After installation, when I introduce the code for enable the docker transmission service
I get the following message from terminal (OS X):
CodeLibreELEC:~ # 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?
-