diff --git a/group_vars/all.yml b/group_vars/all.yml index 7deac84c..9f22fe50 100644 --- a/group_vars/all.yml +++ b/group_vars/all.yml @@ -15,19 +15,8 @@ ### Ansible-NAS Applications ### -# Downloading -nzbget_enabled: false -pyload_enabled: false - -# Media Serving -tautulli_enabled: false - # Media Sourcing -get_iplayer_enabled: false -jackett_enabled: false jellyfin_enabled: false - - youtubedlmaterial_enabled: false # News @@ -259,16 +248,6 @@ joomla_available_externally: "false" joomla_database_password: top_secret joomla_port: "8181" -### -### pyLoad -### -pyload_available_externally: "false" -pyload_config_directory: "{{ docker_home }}/pyload" -pyload_download_directory: "{{ downloads_root }}" -pyload_user_id: "0" -pyload_group_id: "0" -pyload_port: "8000" - ### ### PyTivo ### @@ -282,14 +261,6 @@ pytivo_podcasts_directory: "{{ podcasts_root }}" pytivo_user_id: "0" pytivo_group_id: "0" -### -### Tautulli -### -tautulli_available_externally: "false" -tautulli_config_directory: "{{ docker_home }}/tautulli/config" -tautulli_user_id: "0" -tautulli_group_id: "0" -tautulli_port: "8185" ### ### YouTubeDL-Material @@ -335,12 +306,6 @@ glances_available_externally: "false" glances_port_one: "61208" glances_port_two: "61209" -### -### nginx -### -nginx_data_directory: "{{ docker_home }}/nginx" -nginx_port_http: "80" -nginx_port_https: "443" ### ### Guacamole @@ -381,21 +346,6 @@ timemachine_share_name: Data timemachine_log_level: error timemachine_port: "10445" -### -### get_iplayer -### -get_iplayer_config_directory: "{{ docker_home }}/get_iplayer" -get_iplayer_download_directory: "{{ tv_root }}/iplayer_downloads" -get_iplayer_port: "8182" - -### -### Jackett -### -jackett_available_externally: "false" -jackett_data_directory: "{{ docker_home }}/jackett" -jackett_torrents_root: "{{ torrents_root }}" -jackett_port: "9117" - ### ### The Lounge ### @@ -404,16 +354,6 @@ thelounge_data_directory: "{{ docker_home }}/thelounge" thelounge_port_one: "113" thelounge_port_two: "9002" -### -### Nzbget -### -nzbget_available_externally: "false" -nzbget_data_directory: "{{ docker_home }}/nzbget" -nzbget_download_directory: "{{ downloads_root }}" -nzbget_user_id: "0" -nzbget_group_id: "0" -nzbget_port: "6789" - ### ### Wallabag ### diff --git a/nas.yml b/nas.yml index 3117fdfe..590cb6c1 100644 --- a/nas.yml +++ b/nas.yml @@ -98,6 +98,11 @@ - gitea when: (gitea_enabled | default(False)) + - role: get_iplayer + tags: + - get_iplayer + when: (get_iplayer_enabled | default(False)) + - role: heimdall tags: - heimdall @@ -113,6 +118,11 @@ - homebridge when: (homebridge_enabled | default(False)) + - role: jackett + tags: + - jackettfalse + when: (jackett_enabled | default(False)) + - role: lidarr tags: - lidarr @@ -148,6 +158,11 @@ - nextcloud when: (nextcloud_enabled | default(False)) + - role: nzbget + tags: + - nzbget + when: (nzbget_enabled | default(False)) + - role: organizr tags: - organizr @@ -158,6 +173,11 @@ - portainer when: (portainer_enabled | default(False)) + - role: pyload + tags: + - pyload + when: (pyload_enabled | default(False)) + - role: ombi tags: - ombi @@ -193,6 +213,11 @@ - syncthing when: (syncthing_enabled | default(False)) + - role: tautulli + tags: + - tautulli + when: (tautulli_enabled | default(False)) + - role: transmission tags: - transmission @@ -224,14 +249,6 @@ when: (znc_enabled | default(False)) tasks: - - import_tasks: tasks/tautulli.yml - when: (tautulli_enabled | default(False)) - tags: tautulli - - - import_tasks: tasks/pyload.yml - when: (pyload_enabled | default(False)) - tags: pyload - - import_tasks: tasks/thelounge.yml when: (thelounge_enabled | default(False)) tags: thelounge @@ -260,22 +277,14 @@ when: (guacamole_enabled | default(False)) tags: guacamole - - import_tasks: tasks/get_iplayer.yml - when: (get_iplayer_enabled | default(False)) - tags: get_iplayer - - - import_tasks: tasks/jackett.yml - when: (jackett_enabled | default(False)) - tags: jackett + - import_tasks: tasks/mymediaforalexa.yml + when: (mymediaforalexa_enabled | default(False)) + tags: mymediaforalexa - import_tasks: tasks/joomla.yml when: (joomla_enabled | default(False)) tags: joomla - - import_tasks: tasks/nzbget.yml - when: (nzbget_enabled | default(False)) - tags: nzbget - - import_tasks: tasks/wallabag.yml when: (wallabag_enabled | default(False)) tags: wallabag diff --git a/roles/get_iplayer/defaults/main.yml b/roles/get_iplayer/defaults/main.yml new file mode 100644 index 00000000..c45a0124 --- /dev/null +++ b/roles/get_iplayer/defaults/main.yml @@ -0,0 +1,12 @@ +--- +get_iplayer_enabled: false + +# directories +get_iplayer_config_directory: "{{ docker_home }}/get_iplayer" +get_iplayer_download_directory: "{{ tv_root }}/iplayer_downloads" + +# network +get_iplayer_port: "8182" + +# specs +get_iplayer_memory: "1g" diff --git a/tasks/get_iplayer.yml b/roles/get_iplayer/tasks/main.yml similarity index 93% rename from tasks/get_iplayer.yml rename to roles/get_iplayer/tasks/main.yml index 2a25a4b0..e4e32bfb 100644 --- a/tasks/get_iplayer.yml +++ b/roles/get_iplayer/tasks/main.yml @@ -17,5 +17,5 @@ ports: - "{{ get_iplayer_port }}:8181" restart_policy: unless-stopped - memory: 1g + memory: "{{ get_iplayer_memory }}" diff --git a/roles/jackett/defaults/main.yml b/roles/jackett/defaults/main.yml new file mode 100644 index 00000000..6cfe892e --- /dev/null +++ b/roles/jackett/defaults/main.yml @@ -0,0 +1,15 @@ +--- +# enable or disable the application +jackett_enabled: false +jackett_available_externally: "false" + +# directories +jackett_data_directory: "{{ docker_home }}/jackett" +jackett_torrents_root: "{{ torrents_root }}" + +# network +jackett_hostname: "jackett" +jackett_port: "9117" + +# specs +jackett_memory: "1g" diff --git a/tasks/jackett.yml b/roles/jackett/tasks/main.yml similarity index 89% rename from tasks/jackett.yml rename to roles/jackett/tasks/main.yml index 18eed198..8aa82011 100644 --- a/tasks/jackett.yml +++ b/roles/jackett/tasks/main.yml @@ -21,7 +21,7 @@ restart_policy: unless-stopped labels: traefik.enable: "{{ jackett_available_externally }}" - traefik.http.routers.jackett.rule: "Host(`jackett.{{ ansible_nas_domain }}`)" + traefik.http.routers.jackett.rule: "Host(`{{ jackett_hostname }}.{{ ansible_nas_domain }}`)" traefik.http.routers.jackett.tls.certresolver: "letsencrypt" traefik.http.routers.jackett.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.jackett.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" diff --git a/roles/nzbget/defaults/main.yml b/roles/nzbget/defaults/main.yml new file mode 100644 index 00000000..4ba6dc2d --- /dev/null +++ b/roles/nzbget/defaults/main.yml @@ -0,0 +1,18 @@ +--- +nzbget_enabled: false +nzbget_available_externally: "false" + +# directories +nzbget_data_directory: "{{ docker_home }}/nzbget" +nzbget_download_directory: "{{ downloads_root }}" + +# uid / gid +nzbget_user_id: "0" +nzbget_group_id: "0" + +# network +nzbget_port: "6789" +nzbget_hostname: "nzbget" + +# specs +nzbget_app_memory: "1g" diff --git a/tasks/nzbget.yml b/roles/nzbget/tasks/main.yml similarity index 90% rename from tasks/nzbget.yml rename to roles/nzbget/tasks/main.yml index b66c5b68..bd27a9e1 100644 --- a/tasks/nzbget.yml +++ b/roles/nzbget/tasks/main.yml @@ -24,7 +24,7 @@ memory: 1g labels: traefik.enable: "{{ nzbget_available_externally }}" - traefik.http.routers.nzbget.rule: "Host(`nzbget.{{ ansible_nas_domain }}`)" + traefik.http.routers.nzbget.rule: "Host(`{{ nzbget_hostname }}.{{ ansible_nas_domain }}`)" traefik.http.routers.nzbget.tls.certresolver: "letsencrypt" traefik.http.routers.nzbget.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.nzbget.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" diff --git a/roles/pyload/defaults/main.yml b/roles/pyload/defaults/main.yml new file mode 100644 index 00000000..2053c1f7 --- /dev/null +++ b/roles/pyload/defaults/main.yml @@ -0,0 +1,19 @@ +--- +pyload_enabled: false +pyload_available_externally: "false" + +# directories +pyload_config_directory: "{{ docker_home }}/pyload" +pyload_download_directory: "{{ downloads_root }}" + + +# uid / gid +pyload_user_id: "0" +pyload_group_id: "0" + +# network +pyload_hostname: "pyload" +pyload_port: "8000" + +# specs +pyload_memory: "1g" diff --git a/tasks/pyload.yml b/roles/pyload/tasks/main.yml similarity index 88% rename from tasks/pyload.yml rename to roles/pyload/tasks/main.yml index 3f783c3a..c758c954 100644 --- a/tasks/pyload.yml +++ b/roles/pyload/tasks/main.yml @@ -23,10 +23,10 @@ UID: "{{ pyload_user_id }}" GID: "{{ pyload_group_id }}" restart_policy: unless-stopped - memory: 1g + memory: "{{ pyload_memory }}" labels: traefik.enable: "{{ pyload_available_externally }}" - traefik.http.routers.pyload.rule: "Host(`pyload.{{ ansible_nas_domain }}`)" + traefik.http.routers.pyload.rule: "Host(`{{ pyload_hostname }}.{{ ansible_nas_domain }}`)" traefik.http.routers.pyload.tls.certresolver: "letsencrypt" traefik.http.routers.pyload.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.pyload.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" diff --git a/roles/tautulli/defaults/main.yml b/roles/tautulli/defaults/main.yml new file mode 100644 index 00000000..95a0cc95 --- /dev/null +++ b/roles/tautulli/defaults/main.yml @@ -0,0 +1,17 @@ +--- +tautulli_enabled: false +tautulli_available_externally: "false" + +# directories +tautulli_config_directory: "{{ docker_home }}/tautulli/config" + +# uid / gid +tautulli_user_id: "0" +tautulli_group_id: "0" + +# network +tautulli_hostname: "tautulli" +tautulli_port: "8185" + +# specs +tautulli_memory: "1g" diff --git a/tasks/tautulli.yml b/roles/tautulli/tasks/main.yml similarity index 87% rename from tasks/tautulli.yml rename to roles/tautulli/tasks/main.yml index 277d4f65..2b481399 100644 --- a/tasks/tautulli.yml +++ b/roles/tautulli/tasks/main.yml @@ -22,10 +22,10 @@ PUID: "{{ tautulli_user_id }}" PGID: "{{ tautulli_group_id }}" restart_policy: unless-stopped - memory: 1g + memory: "{{ tautulli_memory }}" labels: traefik.enable: "{{ tautulli_available_externally }}" - traefik.http.routers.tautulli.rule: "Host(`tautulli.{{ ansible_nas_domain }}`)" + traefik.http.routers.tautulli.rule: "Host(`{{ tautulli_hostname }}.{{ ansible_nas_domain }}`)" traefik.http.routers.tautulli.tls.certresolver: "letsencrypt" traefik.http.routers.tautulli.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.tautulli.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"