Jump to content
Capt.Insano

Release: rTorrent/ruTorrent for unRAID


144 posts in this topic Last Reply

Recommended Posts

Release: rTorrent/ruTorrent Container

 

14/05/15: There are now 2 versions of this container in my repo:

"ruTorrent" Container is based on rTorrent 0.9.4 (newest)

"LegacyRuTorrent" Container is based on rTorrent 0.9.2 (for compatibilty, some private trackers have not updated to 0.9.4 yet)

 

Hi folks,

 

Ever since moving to unRAID I have been missing the power and flexibilty (including native RSS support) given by rTorrent&ruTorrent as a torrent client.

 

(See the full list of ruTorrent plugins here: )

 

As a result I have made a rTorrent/ruTorrent container for use with unRAID Docker.

 

Just add my repo:

 

https://github.com/CaptInsano/docker-containers/tree/templates

 

and ruTorrent will be listed as a container option, follow the instructions in the description and you should be up and running.

 

It is based on phusion/baseimage:0.9.16 and it runs on the nginx webserver so is very resource light.

 

I have picked and choosen from various docker rTorrent/ruTorrent containers to make this work well and easily with unRAID.

 

I hope you enjoy!!

 

The Capt.

 

main credits:

https://github.com/nuimk/rutorrent

smdion

 

Update 04/06/15

Fixes to nginx and php to allow the upload of .torrent files larger than 1MB in size (both containers)

 

 

Update: 30/05/15

Fix problems with rTorrent 0.9.2 container and DockerMan (underscore in container names =  :'()

Change unrar-free to unrar for better compatibilty with autotools (ruTorrent plugin) (both containers)

 

 

Update: 14/05/15

Initial commits for container based on rTorrent 0.9.2 named: "LegacyRuTorrent" to maintain compatibilty with some private trackers.

 

 

Update: 23/03/15 (Big Update)

 

1. Updated  to latest rTorrent (0.9.4) and libtorrent (0.13.4) in non-Legacy version

 

2. Added BASIC auth security: (.htaccess file is created in the /config folder)

 

    Default username:password is admin:admin

    To change this edit the .htaccess file, convert username:passwords into encrypted format here:

    http://www.htaccesstools.com/htpasswd-generator/

    Follow the instructions; one username:password per line.

    Save file and Restart container

 

3. Added SSL (default https://SERVERIP:8099)

 

      This port can be changed in the Container settings

      The cert is created on container start and creates a generic server.crt in /config/certs

            All info in this generic cert is set to "unraid"

 

      If you want to swap out this cert with your own (advised) then:

      SSH into your unRAID server, navigate to the certs folder where you have mapped /config

      go to this link and follow instructions:

      http://www.akadia.com/services/ssh_test_certificate.html

      Make sure the output file is named server.crt

      Note: This can be done from unRAID itself not within the container

 

      Restart the container after replacing the server.crt

     

4. (Finally!!) Fixed umask of torrent user. umask torrent = 0002

 

 

Update: 19/03/15

 

I have changed the structure of the container so that the ruTorrent directory is in /config.

This allows manually editing ruTorrent configs, adding 3rd Party ruTorrent plugins and ruTorrent configs are persistent across updates.

 

Update 16/03/15

Improvement to GIT logic, existing GIT versions will get updated instead of recloned.

 

 

Update 15/03/15

1.This container now has GIT support to update ruTorrent and it's plugins to the latest GIT versions.

  Simply set EDGE value to 1 (Turn on Advanced View when adding container). To update; Stop and Restart the container.

 

2. I have also change some ruTorrent settings to work better within Docker.

 

Share this post


Link to post

just make sure that there is only one line starting with $topDirectory cos that will overwrite all of them.

Share this post


Link to post

if you can't make the sed work, why not add in a preedited copy of the config file and then overwrite it ?

Share this post


Link to post

OP updated:

 

GIT support added to container

ruTorrent config improved to remove prev bug (thanks for ideas Sparklyballs!!)

 

Bug report removed from OP:

Current (cosmetic!) Bug: looking for some advice (see below)

 

The DiskSpace plugin which is seen in the bottom left corner of the webui defaults to showing the disk space of the docker container itself instead of the downloads location (this means that it shows the size/use of the docker.img file).

 

This can be changed by editing a file inside the container:

 

docker exec -it ruTorrent /bin/bash
vi /var/www/rutorrent/conf/config.php

then change

$topDirectory = '/';

to

$topDirectory = '/download';

Then save the file. Restarting the docker will then fix the DiskSpace plugin to show size of download location.

 

I am hoping someone could help me make this change within the Dockerfile;

 

there is currently a line that fixes the curl location within that file, but I cannot figure out how the change the regex to make a change to the $topDirectory info.

 

curl fix within the Dockerfile:

sed -i 's#\(\s*"curl"\s*=>\s*'"'"'\)''\('"'"'.*\)#\1/usr/bin/curl\2#g' /var/www/rutorrent/conf/config.php &&\

 

can anyone suggest the line required to make a similar change for $topDirectory location?

 

Container working great!!

 

Hope you enjoy!

Share this post


Link to post

question

 

i have plexconnect running in a docker on dockerport 80

it needs to be 80 and can not be changed

 

so if i install this now then i will have 2 dockers running on port 80....

i know this one has a different host port but will this work?

 

I want to get rid of deluge....  but i guess i can't change since this docker also runs on port 80 ?

Share this post


Link to post

You can have as many dockers as you like with container port 80 (i have 4) as long as you select a different host port for them.

 

TRsYX7l.png

Share this post


Link to post

question

 

i have plexconnect running in a docker on dockerport 80

it needs to be 80 and can not be changed

 

so if i install this now then i will have 2 dockers running on port 80....

i know this one has a different host port but will this work?

 

I want to get rid of deluge....  but i guess i can't change since this docker also runs on port 80 ?

 

This container runs on container port 80. This means it is on port 80 internally to the container.

 

Docker allows this to be linked to any external port called host port, the config file defaults it to port 8089 but even this can be changed to any port you want!!

 

This can be ran along side any other Docker you want by making sure the host ports are different.

 

Share this post


Link to post

Another update:

 

Improved the GIT logic within the container. If a GIT version already exists, it now gets updated instead of recloned.

 

Enjoy.

Share this post


Link to post

Hi Capt.Insano.

 

Love the container, I've been waiting for rutorrent for a long time...

 

I have one issue though : the umask seems wrong beacause the folders are being created with rwxr-xr-x, and autotools fails to move them to the "completed" folder that I created.

Any way to change that?

 

Thanks

Share this post


Link to post

Hi Capt.Insano.

 

Love the container, I've been waiting for rutorrent for a long time...

 

I have one issue though : the umask seems wrong beacause the folders are being created with rwxr-xr-x, and autotools fails to move them to the "completed" folder that I created.

Any way to change that?

 

Thanks

 

I have made some changes to how rTorrent & ruTorrent are ran within the container:

This should hopefully stop the permission issues that you are having.

 

I have also exposed the ruTorrent directory (/var/www/rutorrent) so it can be mapped your AppData folder, this will result in an easier way of changing ruTorrent settings, adding 3rd party plugins and retaining ruTorrent settings across updates.

 

I am currently in work however so cannot test for a few hours, if you could test it and report back it would be much appreciated.

If it still does not work, could you post the output of the following from the folder containing your completed folder.

 

ls -la

 

 

Thanks,

The Capt

 

 

Share this post


Link to post

Hi Capt.Insano.

 

Love the container, I've been waiting for rutorrent for a long time...

 

I have one issue though : the umask seems wrong beacause the folders are being created with rwxr-xr-x, and autotools fails to move them to the "completed" folder that I created.

Any way to change that?

 

Thanks

 

I have made some changes to how rTorrent & ruTorrent are ran within the container:

This should hopefully stop the permission issues that you are having.

 

I have also exposed the ruTorrent directory (/var/www/rutorrent) so it can be mapped your AppData folder, this will result in an easier way of changing ruTorrent settings, adding 3rd party plugins and retaining ruTorrent settings across updates.

 

I am currently in work however so cannot test for a few hours, if you could test it and report back it would be much appreciated.

If it still does not work, could you post the output of the following from the folder containing your completed folder.

 

ls -la

 

 

Thanks,

The Capt

 

 

 

Well, I'm at work too, so I can't test it right now... But, for what I see in your github, it might fix the permissions inside the container, but it might break it outside : for instance, CouchPotatoe won't be able to extract rar files inside the torrent folders (the permissions still being rwxr-xr-x). Thus my idea about the umask...

 

But, as I said, can't test it right now, so it might work as well, I am no permission guru :)

Share this post


Link to post

Hi all.

 

First I want to thanks Capt.Insano for his work and that he's sharing this image. Thanks!

 

Secondly. How do you all secure the web interface?

Can any one of you share how to secure the webGui with https and login?

 

Thanks in advance,

Olle

 

 

 

Share this post


Link to post

Hi!

 

Thanks for your job did on rutorrent docker, but I like more if you implement multi user rutorrent on the docker :P

 

I dont want to run multiple instance's of this docker with difererents ports.

 

Bye

Share this post


Link to post

Well, I'm at work too, so I can't test it right now... But, for what I see in your github, it might fix the permissions inside the container, but it might break it outside : for instance, CouchPotatoe won't be able to extract rar files inside the torrent folders (the permissions still being rwxr-xr-x). Thus my idea about the umask...

 

But, as I said, can't test it right now, so it might work as well, I am no permission guru :)

 

The newest build has the user torrent as a member of the users group, this should hopefully cause less permission problems.

I just downloaded a torrent and AutoTools successfully moved it with no errors.

 

If it is still causing issues, I may need some help from those more experiencesd than I!!

 

 

Hi all.

 

First I want to thanks Capt.Insano for his work and that he's sharing this image. Thanks!

 

Secondly. How do you all secure the web interface?

Can any one of you share how to secure the webGui with https and login?

 

Thanks in advance,

Olle

 

This is something I will get to soon, even basic auth would be a great help here. leave it with me a while however as I am away this weekend.

 

Hi!

 

Thanks for your job did on rutorrent docker, but I like more if you implement multi user rutorrent on the docker :P

 

I dont want to run multiple instance's of this docker with difererents ports.

 

Bye

 

This is not a huge priority for me as then everyones ruTorrent docker would have multi-user enabled however, if you run

docker exec -it ruTorrent /bin/bash

 

you will be able to get "into" the container and make any changes you wish. (NOTE: changes will not be persistent over updates)

 

Otherwise run multiple instances of the container as it is very lightweight.

 

 

Further Update:

 

I have changed the structure of the container so that the ruTorrent directory is in /config.

 

This allows manually editing ruTorrent configs, adding 3rd Party ruTorrent plugins and ruTorrent configs are persistent across updates.

Share this post


Link to post

Query/Poll:

 

Would most people prefer that this container defaulted to ssl (https) with some sort of authentication?

 

Share this post


Link to post

Query/Poll:

 

Would most people prefer that this container defaulted to ssl (https) with some sort of authentication?

 

I don't currently use any dockers so keep that FWIW. If I decide to go to dockers instead of my Ubuntu VM, I would prefer that ssl be default with authentication on rutorrent.

Share this post


Link to post

Query/Poll:

 

Would most people prefer that this container defaulted to ssl (https) with some sort of authentication?

 

I don't currently use any dockers so keep that FWIW. If I decide to go to dockers instead of my Ubuntu VM, I would prefer that ssl be default with authentication on rutorrent.

 

Fair enough.

 

Adding Basic Auth looks to be really easy (I have done it in my own container). But it will mean that Basic Auth will be active for everyone (Usernames and Passwords editable of course, through a .htpasswd file in /config)

 

Defaulting to SSL looks more involved but I will look at it if people really want it.

 

Poll added to OP.

 

The Capt.

Share this post


Link to post

Hi again.

 

I'm really looking forward to the auth support.

 

And now I have a different/another question. The version ofrTorrent that's included is quite old (0.9.2) and I'm having problem with it that's related to this version.

When I check http://libtorrent.rakshasa.no/downloads/ I see that there is a newer version 0.9.4 released.

 

My linux knowledge is quite low but I see that the docker file is doing an apt-get for the rtorrent.

Have any one had any luck running rtorrent 0.9.4?

 

 

Share this post


Link to post

Managed to install this igh out any issues but for some reason I am now struggling to get anything to download.  Not sure if it's due to my firewall settings or something else.  Does rutorrent use encryption? If not, that may explain why peers aren't sending anything.

Share this post


Link to post

Well, I'm at work too, so I can't test it right now... But, for what I see in your github, it might fix the permissions inside the container, but it might break it outside : for instance, CouchPotatoe won't be able to extract rar files inside the torrent folders (the permissions still being rwxr-xr-x). Thus my idea about the umask...

 

But, as I said, can't test it right now, so it might work as well, I am no permission guru :)

 

The newest build has the user torrent as a member of the users group, this should hopefully cause less permission problems.

I just downloaded a torrent and AutoTools successfully moved it with no errors.

 

If it is still causing issues, I may need some help from those more experiencesd than I!!

 

 

Hi all.

 

First I want to thanks Capt.Insano for his work and that he's sharing this image. Thanks!

 

Secondly. How do you all secure the web interface?

Can any one of you share how to secure the webGui with https and login?

 

Thanks in advance,

Olle

 

This is something I will get to soon, even basic auth would be a great help here. leave it with me a while however as I am away this weekend.

 

Hi!

 

Thanks for your job did on rutorrent docker, but I like more if you implement multi user rutorrent on the docker :P

 

I dont want to run multiple instance's of this docker with difererents ports.

 

Bye

 

This is not a huge priority for me as then everyones ruTorrent docker would have multi-user enabled however, if you run

docker exec -it ruTorrent /bin/bash

 

you will be able to get "into" the container and make any changes you wish. (NOTE: changes will not be persistent over updates)

 

Otherwise run multiple instances of the container as it is very lightweight.

 

 

Further Update:

 

I have changed the structure of the container so that the ruTorrent directory is in /config.

 

This allows manually editing ruTorrent configs, adding 3rd Party ruTorrent plugins and ruTorrent configs are persistent across updates.

 

I had a little more time to test it out this week-end, and I'm back to my first issue : autotools works alright, but CP/SR can't extract anything inside the newly created torrent folders... Their permissions are rwxr-xr-x, so any user other than torrents can't write anything inside (even if they belong to the same group). The permission needs to be rwxrwxr-x at least...

Share this post


Link to post

Expect a new build tonight with SSL and Auth support (I will add an optional SSL=1 environmental flag for people not bothered with SSL)

 

Auth username & password will be configurable through a file in the /config directory.

 

Hi again.

 

I'm really looking forward to the auth support.

 

And now I have a different/another question. The version of rTorrent that's included is quite old (0.9.2) and I'm having problem with it that's related to this version.

When I check http://libtorrent.rakshasa.no/downloads/ I see that there is a newer version 0.9.4 released.

 

My linux knowledge is quite low but I see that the docker file is doing an apt-get for the rtorrent.

Have any one had any luck running rtorrent 0.9.4?

 

I will look into this, it will mean building rTorrent within the container however which will increase the size of the container more than I would like.

 

I had a little more time to test it out this week-end, and I'm back to my first issue : autotools works alright, but CP/SR can't extract anything inside the newly created torrent folders... Their permissions are rwxr-xr-x, so any user other than torrents can't write anything inside (even if they belong to the same group). The permission needs to be rwxrwxr-x at least...

 

I am struggling to find a proper fix for this, I do not fully understand how to set mask settings for a user such that all files/directories created by the user "torrent" have 777 permissions.

 

Managed to install this igh out any issues but for some reason I am now struggling to get anything to download.  Not sure if it's due to my firewall settings or something else.  Does rutorrent use encryption? If not, that may explain why peers aren't sending anything.

 

It is likely due to your firewall settings as I can download no problem. Check your settings however in .rtorrent.rc file in the /config folder. You can have encryption on or off.

 

 

Thanks

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.