diff --git a/README.md b/README.md index 66dea8c9..acf5576b 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ Ansible config and a bunch of Docker containers. * An awesome dashboard to your home server (Heimdall) * Any number of Samba shares or NFS exports for you to store your stuff * A BitTorrent client +* A Usenet downloader * Various media management tools - Sonarr, Sickchill, CouchPotato, Radarr * Media streaming via Plex or Emby * Music streaming with Airsonic @@ -47,6 +48,7 @@ Ansible config and a bunch of Docker containers. * [MyMediaForAlexa](https://www.mymediaalexa.com/) - Lets you stream your music collection to your alexa device * [Netdata](https://my-netdata.io/) - An extremely comprehensive system monitoring solution * [Nextcloud](https://nextcloud.com/) - A self-hosted Dropbox alternative +* [NZBget](https://nzbget.net/) - The most efficient usenet downloader * [Plex](https://www.plex.tv/) - Plex Media Server * [Portainer](https://portainer.io/) - for managing Docker and running custom images * [Radarr](https://radarr.video/) - for organising and downloading movies diff --git a/docs/applications/nzbget.md b/docs/applications/nzbget.md new file mode 100644 index 00000000..eddd2c4c --- /dev/null +++ b/docs/applications/nzbget.md @@ -0,0 +1,11 @@ +# NZBget + +Homepage: [https://nzbget.net/](https://nzbget.net/) + +The most efficient usenet downloader. NZBGet is written in C++ and designed with performance in mind to achieve maximum download speed by using very little system resources. + +## Usage + +Set `nzbget_enabled: true` in your `group_vars/all.yml` file. + +The NZBget web interface can be found at http://ansible_nas_host_or_ip:6789, the default username is `nzbget` and password `tegbzn6789`. Change this once you've logged in! diff --git a/docs/configuration/application_ports.md b/docs/configuration/application_ports.md index e47f5009..e31a37b7 100644 --- a/docs/configuration/application_ports.md +++ b/docs/configuration/application_ports.md @@ -24,6 +24,7 @@ By default, applications can be found on the ports listed below. | MyMediaForAlexa | 52051 | | | Netdata | 19999 | | | Nextcloud | 8080 | | +| NZBGet | 6789 | | | Plex | 32400 | | | Portainer | 9000 | | | Radarr | 7878 | | diff --git a/group_vars/all.yml.dist b/group_vars/all.yml.dist index f873a03c..6bb7101b 100644 --- a/group_vars/all.yml.dist +++ b/group_vars/all.yml.dist @@ -10,11 +10,12 @@ # settings. traefik_enabled: false -# BitTorrent +# Downloading # If you plan to use Transmission with OpenVPN, you'll need to copy group_vars/vpn_credentials.yml.dist # to group_vars/vpn_credentials.yml, then update it with your own settings. transmission_with_openvpn_enabled: false transmission_enabled: false +nzbget_enabled: false # Plex plex_enabled: false @@ -533,4 +534,13 @@ bitwarden_allow_signups: false ### Firefly ### firefly_available_externally: "false" -firefly_data_directory: "{{ docker_home }}/firefly" \ No newline at end of file +firefly_data_directory: "{{ docker_home }}/firefly" + +### +### Nzbget +### +nzbget_available_externally: "false" +nzbget_data_directory: "{{ docker_home }}/nzbget" +nzbget_download_directory: "{{ downloads_root }}" +nzbget_user_id: 0 +nzbget_group_id: 0 \ No newline at end of file diff --git a/nas.yml b/nas.yml index adbd32fc..9354d83a 100644 --- a/nas.yml +++ b/nas.yml @@ -155,3 +155,7 @@ - import_tasks: tasks/bitwarden.yml when: (bitwarden_enabled | default(False)) tags: bitwarden + + - import_tasks: tasks/nzbget.yml + when: (nzbget_enabled | default(False)) + tags: nzbget \ No newline at end of file diff --git a/tasks/nzbget.yml b/tasks/nzbget.yml new file mode 100644 index 00000000..8d94cbf0 --- /dev/null +++ b/tasks/nzbget.yml @@ -0,0 +1,29 @@ +--- +- name: Create NZBget Directories + file: + path: "{{ item }}" + state: directory + with_items: + - "{{ nzbget_data_directory }}" + +- name: NZBGet + docker_container: + name: nzbget + image: linuxserver/nzbget + pull: true + volumes: + - "{{ nzbget_download_directory }}:/downloads:rw" + - "{{ nzbget_data_directory }}:/config:rw" + ports: + - "6789:6789" + env: + TZ: "{{ ansible_nas_timezone }}" + PUID: "{{ nzbget_user_id }}" + PGID: "{{ nzbget_group_id }}" + restart_policy: unless-stopped + memory: 1g + labels: + traefik.backend: "nzbget" + traefik.frontend.rule: "Host:nzbget.{{ ansible_nas_domain }}" + traefik.enable: "{{ nzbget_available_externally }}" + traefik.port: "6789" \ No newline at end of file diff --git a/templates/traefik/traefik.toml b/templates/traefik/traefik.toml index 578109f0..105e3b1f 100644 --- a/templates/traefik/traefik.toml +++ b/templates/traefik/traefik.toml @@ -194,6 +194,7 @@ onDemand = false # create certificate when container is created "miniflux.{{ ansible_nas_domain }}", "netdata.{{ ansible_nas_domain }}", "nextcloud.{{ ansible_nas_domain }}", + "nzbget.{{ ansible_nas_domain }}", "plex.{{ ansible_nas_domain }}", "portainer.{{ ansible_nas_domain }}", "radarr.{{ ansible_nas_domain }}",