All Projects → ekho → docker-utorrent

ekho / docker-utorrent

Licence: MIT license
Docker image to run the utorrent server

Programming Languages

shell
77523 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to docker-utorrent

deluge-uTorrentImport
cross platform Deluge Plugin for importing torrents from uTorrent
Stars: ✭ 74 (+100%)
Mutual labels:  utorrent
Trackerslistcollection
🎈 Updated daily! A list of popular BitTorrent Trackers! / 每天更新!全网热门 BT Tracker 列表!
Stars: ✭ 9,761 (+26281.08%)
Mutual labels:  utorrent
ban-peers
Checking & banning BitTorrent leech peers via Web API, remove ads, working for μTorrent. 通过网页 API 检查并屏蔽 BitTorrent 吸血对端, 移除广告, 工作于 μTorrent。
Stars: ✭ 21 (-43.24%)
Mutual labels:  utorrent
MiXLab
MiXLab is a mix of multiple amazing Colab Notebooks found on the internet such as rcloneLab, RLabClone, Torrent to Google Drive Downloader and some more.
Stars: ✭ 143 (+286.49%)
Mutual labels:  utorrent

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].