Giter Site home page Giter Site logo

docker-utorrent's Introduction

docker-utorrent

Docker Pulls Docker Stars Docker Image Version (latest semver) Docker Image Size (latest semver) Docker Cloud Automated build Docker Cloud Build Status Buy Me A Coffee

Docker image to run the utorrent server.

NOTE: Image has been refactored. You should update your configs. Or you can use ekho/utorrent:legacy image instead of ekho/utorrent:latest

Run

Run via Docker CLI client

To run the utorrent container you can execute:

docker run                                            \
    --name utorrent                                   \
    -v /path/to/data/dir:/data                        \
    -p 8080:8080                                      \
    -p 6881:6881                                      \
    -p 6881:6881/udp                                  \
    ekho/utorrent:<tag>

Open a browser and point your to http://docker-host:8080/gui

Settings persistence

Dir on host machine

docker run                                            \
    --name utorrent                                   \
    -v /path/to/data/dir:/data                        \
    -v /path/to/setting/dir:/utorrent/settings        \
    -p 8080:8080                                      \
    -p 6881:6881                                      \
    -p 6881:6881/udp                                  \
    ekho/utorrent:<tag>

Named volume

docker volume create utorrent-settings

docker run                                            \
    --name utorrent                                   \
    -v /path/to/data/dir:/data                        \
    -v utorrent-settings:/utorrent/settings           \
    -p 8080:8080                                      \
    -p 6881:6881                                      \
    -p 6881:6881/udp                                  \
    ekho/utorrent:<tag>

Configure

All available settings you can find in example config. Almost all of these settings can be changed except:

  • bind_ip - set as 0.0.0.0
  • dir_active, dir_completed - /data
  • dir_torrent_files - /utorrent/torrents
  • dir_temp_files - /utorrent/temp
  • dir_autoload - /utorrent/autoload
  • dir_request - /utorrent/request
  • dir_root - /data
  • preferred_interface - empty
  • ut_webui_dir - controlled by webui var
  • randomize_bind_port - false

You can specify list of download dirs using dir_download var.

docker run                                            \
    --name utorrent                                   \
    -v /path/to/data/dir:/data                        \
    -v /path/to/data/dir2:/abs-path-dir               \
    -e dir_autoload_delete=true                       \
    -e dir_download=subdir1,/abs-path-dir             \
    -p 8080:8080                                      \
    -p 6881:6881                                      \
    -p 6881:6881/udp                                  \
    ekho/utorrent:<tag>

Custom UID/GID

By default container tries to use uid/gid of owner of /data volume. But you can specify custom UID/GID by environment variables.

docker run                                            \
    --name utorrent                                   \
    -v /path/to/data/dir:/data                        \
    -e UID=1000 -e GID=1000                           \
    -p 8080:8080                                      \
    -p 6881:6881                                      \
    -p 6881:6881/udp                                  \
    ekho/utorrent:<tag>

Alternative UI

Already bundled. You can activate it with env var webui=<ng|ut>.

docker run                                            \
    --name utorrent                                   \
    -v /path/to/data/dir:/data                        \
    -e webui=ng                                       \
    -p 8080:8080                                      \
    -p 6881:6881                                      \
    -p 6881:6881/udp                                  \
    ekho/utorrent:<tag>

Run via Docker Compose

You can also run the utorrent container by using Docker Compose.

Create your Docker Compose file (docker-compose.yml) using the following YAML snippet:

version: '3.7'
services:
  utorrent:
    image: ekho/utorrent:<tag>
    volumes:
      - utorrent-settings:/utorrent/settings
      - /path/to/data/dir:/data
      - /path/to/data/dir2:/abs-path-dir
    environment:
      UID: 1000
      GID: 1000
      webui: ng
      dir_autoload_delete: true
      dir_download: subdir1,/abs-path-dir
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    restart: always
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

volumes:
  utorrent-settings:

Changes

  • 2020-04-15 totally refactored; incompatible with previous setup
  • 2020-04-08 minor build refactoring
  • 2020-04-07 added alternative ui - utorrent-ui
  • 2019-08-05 added alternative ui - psychowood/ng-torrent-ui
  • 2018-01-03 added host uid/gid usage
  • 2017-12-24 changed directories layout

docker-utorrent's People

Contributors

bradcornford avatar ekho avatar gokuu avatar lolboxen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

docker-utorrent's Issues

How do I add Magnet Links

Still using this trusty app but lately I have come across some sites that do Magnet only links.

I've tried adding them but the OS expects an app and not a web app. uTprrent, at least this version, doesn't accept magnet links from the web via any of the add buttons, at least what I tried.

Anyone any ideas?

invalid request

When accessing webui i get "invalid request" in an empty page

Settings location

Hi,
Sorry for the ignorance but I am unable to change settings.
According to the description I mounted an external dir to /utorrent/settings, but this dir does not contain any .conf files. The only conf file I found inside the container was /utorrent/utserver.conf but that can not be modified from outside. Or can it?
Thanks
Sebi

docker-compose.yml:

version: "2"

services:
  utorrent:
    container_name: utorrent
    restart: unless-stopped
    image: ekho/utorrent:latest
    volumes:
      - ./data:/data
      - ./config:/utorrent/settings
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp

Docker uTorrent installation gives linux error

$ docker run --name torrent -v ~/torrent:/utorrent/data -v ~/torrent/setting:/utorrent/settings -p 666:8080 -p 6881:6881 --restart unless-stopped ekho/utorrent:latest
it returns:
standard_init_linux.go:211: exec user process caused "exec format error"

Docker version 19.03.8
Armbian with Ubuntu 18.04.4 LTS Bionic kernel

Ubuntu Trusty (14.04) no longer supported

The O/S that this image is based on is no longer supported. Is it possible to upgrade to the latest LTS release, which would be 20.04? Is there any reason not to base this image on ubuntu:latest, which is always the latest LTS release of Ubuntu?

Control over utorrent user

Hey there,

Right now the utorrent container creates a utorrent user without any possibility of setting uid/gid. That created some difficulties to me in managing the volumes permissions in the host file system.

It would be nice if it was possible to choose a user to run as or to ser custom uid/gid so that one would be able to control the ownership of the host volume directory.

Thoughts?

Thanks,
Marcelo

Update to latest webui.zip

Please consider using the latest webui.zip file for a complete overhaul of the web interface. This file can simply be dropped in the tar.gz archive.
I manually added it to the docker image and it works perfectly
webui.zip

Download stuck at 0%

Everything works fine. However, download is stuck at 0%
Port forwarding and firewall are ok

Error after the update

After the last update the container does not work anymore, i attach an image with the error reported by Portainer:

Errore_uTorrent

Stuck at INFO Target config /utorrent/utserver.conf has been updated

I'm currently using Ubuntu20.1

[2021-12-19T06:48:18Z] BUILTIN webui 2021-12-19T06:48:18Z bd786e4688c4 /confd[12]: INFO Backend set to env 2021-12-19T06:48:18Z bd786e4688c4 /confd[12]: INFO Starting confd 2021-12-19T06:48:18Z bd786e4688c4 /confd[12]: INFO Backend source(s) set to 2021-12-19T06:48:18Z bd786e4688c4 /confd[12]: INFO Target config /utorrent/utserver.conf out of sync 2021-12-19T06:48:18Z bd786e4688c4 /confd[12]: INFO Target config /utorrent/utserver.conf has been updated

image

Utorrent doesn't work with proxies anymore

Thank you for this docker image. I've been using it for a while and after recent upgrades I noticed that utorrent doesn't work with socks proxies anymore and log file is full of following errors:

[20190228 12:45:12] OpensslEncryptHandler::encrypt error -1(1)
[20190228 12:45:13] OpensslEncryptHandler::encrypt error -1(1)
[20190228 12:45:14] OpensslEncryptHandler::encrypt error -1(1)
[20190228 12:45:14] OpensslEncryptHandler::encrypt error -1(1)

Any ideas which part of update may caused this?
Tried searching, but couldn't find any solutions, all I know it was working earlier.
Thank you.

utorrent webui doesn't load

When spinning up the container, the webui doesn't load (with /gui/). It seems that with a default/blank utserver.conf file, the default value for ut_webui_dir is pointing to the /utorrent/settings folder and the webui.zip file is in /utorrent.

Volume to assign ?

Hello

I don't understand what volume to assign, it's not clear if it's:
/utorrent/settings or /settings ?
Same problem with the directory for torrents and dowload
What exactly the folders to assign please

Thanks a lot
Capture d’écran 2021-08-02 115126

Paths should be configured from ENVs as well

Hi,

In the last refactor, one of the changes that had the biggest impact for me was not being able to use the utserver.conf file to make the configuration changes I want, as now confd always replaces it when the container starts.

That being said, I think that, if it was possible to override the paths (and all other properties) using ENV variables, I think it would be much more flexible. I took the liberty of opening PR #13 to do exactly this

Couldn't reach the server

Hi Ekho, I just started using your docker image and thanks for the great work, I have installed it as a rockon on rockstor, however when I try to run the webui I get this error message "This site can't be reached". I have tried to use the 8080 and 6881 ports and no luck with either of them. Do you have any ideas what would be the problem? Thanks

ekho/docker-utorrent:latest has malicious code

I recently pulled the latest version of all docker containers on my installation and utorrent quit working. It failed because it didn't have access to /etc/sudoers directory. Like an idiot, and because I was in a hurry, I just mapped it so I could take a look at the problem later. Now is later. Malicious code has been added to the :latest image. :ubuntu-20.04 doesn't appear to be affected. I don't have the time to figure out what code was added, but I got the below message from my router.

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"ET POLICY curl User-Agent Outbound"; flow:established,to_server; http.user_agent; content:"curl/"; nocase; startswith; reference:url,www.useragentstring.com/pages/useragentstring.php; classtype:attempted-recon; sid:2013028; rev:7; metadata:created_at 2011_06_14, updated_at 2022_05_03;)

Be careful.

Troubles with volumes binding

Hi again, with the last update i can't again having utorrent working good...

What's happen is that i changed the configuration accordingly with your new directions and i have utorrent running but even if i see the files i was downloading, they are just frozen.
Looking into the config i see something strange, i mean, the path for the various folders look not correct to me... what could be?
I attach a pic so it's more clear
Thank you in advance

Volumes

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.