diff --git a/README.md b/README.md index 59a7ff7a..74b780a5 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,7 @@ Ansible config and a bunch of Docker containers. * [Traefik](https://traefik.io/) - Web proxy and SSL certificate manager * [Transmission](https://transmissionbt.com/) - BitTorrent client (with OpenVPN if you have a supported VPN provider) * [Ubooquity](http://vaemendis.net/ubooquity/) - Book and comic server +* [uTorrent](https://www.utorrent.com/) - The best torrent downloading app for beginners * [Virtual Desktop](https://github.com/RattyDAVE/docker-ubuntu-xrdp-mate-custom) - A virtual desktop running on your NAS. * [Wallabag](https://wallabag.org/) - Save and classify articles. Read them later. * [Watchtower](https://github.com/v2tec/watchtower) - Monitor your Docker containers and update them if a new version is available diff --git a/docs/applications/utorrent.md b/docs/applications/utorrent.md new file mode 100644 index 00000000..d415e5f5 --- /dev/null +++ b/docs/applications/utorrent.md @@ -0,0 +1,15 @@ + +# uTorrent + +Homepage: [https://www.utorrent.com/](https://www.utorrent.com/) +Docker Container: [https://hub.docker.com/r/ekho/utorrent](https://hub.docker.com/r/ekho/utorrent) + +The best torrent downloading app for beginners + +## Usage + +Set `utorrent_enabled: true` in your `inventories//nas.yml` file. + +If you want to access uTorrent externally, don't forget to set `utorrent_available_externally: "true"` in your `inventories//nas.yml` file. + +The uTorrent web interface can be found at http://ansible_nas_host_or_ip:8111. diff --git a/docs/configuration/application_ports.md b/docs/configuration/application_ports.md index c1d2c6bf..98e44b06 100644 --- a/docs/configuration/application_ports.md +++ b/docs/configuration/application_ports.md @@ -64,6 +64,9 @@ By default, applications can be found on the ports listed below. | Transmission | 9092 | | | Ubooquity | 2202 | | | Ubooquity | 2203 | Admin | +| uTorrent | 8111 | HTTP | +| uTorrent | 6881 | BT | +| uTorrent | 6881 | UDP | | Wallabag | 7780 | | | YouTubeDL-Mater | 8998 | HTTP | | ZNC | 6677 | | diff --git a/group_vars/all.yml b/group_vars/all.yml index 49b2112b..24ab2388 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -20,6 +20,7 @@ transmission_with_openvpn_enabled: false # Please see docs about how to set VPN transmission_enabled: false nzbget_enabled: false pyload_enabled: false +utorrent_enabled: false # Media Serving plex_enabled: false @@ -384,6 +385,17 @@ openvpn_password: secretpassword openvpn_provider: AWESOMEVPNPROVIDER openvpn_config: United-Kingdom +### +### uTorrent +### +utorrent_available_externally: "false" +utorrent_config_directory: "{{ docker_home }}/utorrent/config" +utorrent_download_directory: "{{ downloads_root }}" +utorrent_port_http: "8111" +utorrent_port_bt: "6881" +utorrent_user_id: "0" +utorrent_group_id: "0" + ### ### Joomla ### diff --git a/nas.yml b/nas.yml index b08c1f6f..3171837a 100644 --- a/nas.yml +++ b/nas.yml @@ -220,6 +220,10 @@ when: (ubooquity_enabled | default(False)) tags: ubooquity + - import_tasks: tasks/utorrent.yml + when: (utorrent_enabled | default(False)) + tags: utorrent + - import_tasks: tasks/ombi.yml when: (ombi_enabled | default(False)) tags: ombi diff --git a/tasks/utorrent.yml b/tasks/utorrent.yml new file mode 100644 index 00000000..5d410f82 --- /dev/null +++ b/tasks/utorrent.yml @@ -0,0 +1,34 @@ + +--- +- name: Create uTorrent Directories + file: + path: "{{ item }}" + state: directory + with_items: + - "{{ utorrent_config_directory }}" + - "{{ utorrent_download_directory }}" + +- name: uTorrent Docker Container + docker_container: + name: utorrent + image: ekho/utorrent:latest + pull: true + volumes: + - "{{ utorrent_download_directory }}:/data:rw" + - "{{ utorrent_config_directory }}:/utorrent/settings:rw" + - "{{ torrents_root }}:/utorrent/torrents:rw" + ports: + - "{{ utorrent_port_http }}:8080" + - "{{ utorrent_port_bt }}:6881" + - "{{ utorrent_port_bt }}:6881/udp" + env: + TZ: "{{ ansible_nas_timezone }}" + UID: "{{ utorrent_user_id }}" + GID: "{{ utorrent_group_id }}" + restart_policy: unless-stopped + memory: 1g + labels: + traefik.backend: "utorrent" + traefik.frontend.rule: "Host:utorrent.{{ ansible_nas_domain }}" + traefik.enable: "{{ utorrent_available_externally }}" + traefik.port: "8080" diff --git a/templates/traefik/traefik.toml b/templates/traefik/traefik.toml index e635af7b..e20a55a2 100644 --- a/templates/traefik/traefik.toml +++ b/templates/traefik/traefik.toml @@ -220,6 +220,7 @@ onDemand = false # create certificate when container is created "transmission.{{ ansible_nas_domain }}", "transmission-openvpn.{{ ansible_nas_domain }}", "ubooquity.{{ ansible_nas_domain }}", + "utorrent.{{ ansible_nas_domain }}", "wallabag.{{ ansible_nas_domain }}", "youtubedlmaterial.{{ ansible_nas_domain }}", "znc.{{ ansible_nas_domain }}"]