mirror of
https://github.com/davestephens/ansible-nas
synced 2024-12-26 03:23:11 +00:00
Add template mv get_iplayer, nzbget, pyload, tautulli to roles
This commit is contained in:
parent
75103190ce
commit
3657c4feda
12 changed files with 144 additions and 67 deletions
|
@ -15,15 +15,7 @@
|
||||||
### Ansible-NAS Applications
|
### Ansible-NAS Applications
|
||||||
###
|
###
|
||||||
|
|
||||||
# Downloading
|
|
||||||
nzbget_enabled: false
|
|
||||||
pyload_enabled: false
|
|
||||||
|
|
||||||
# Media Serving
|
|
||||||
tautulli_enabled: false
|
|
||||||
|
|
||||||
# Media Sourcing
|
# Media Sourcing
|
||||||
get_iplayer_enabled: false
|
|
||||||
jackett_enabled: false
|
jackett_enabled: false
|
||||||
minidlna_enabled: false
|
minidlna_enabled: false
|
||||||
jellyfin_enabled: false
|
jellyfin_enabled: false
|
||||||
|
@ -270,16 +262,6 @@ joomla_available_externally: "false"
|
||||||
joomla_database_password: top_secret
|
joomla_database_password: top_secret
|
||||||
joomla_port: "8181"
|
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
|
### PyTivo
|
||||||
###
|
###
|
||||||
|
@ -302,16 +284,6 @@ homebridge_user_id: "0"
|
||||||
homebridge_group_id: "0"
|
homebridge_group_id: "0"
|
||||||
homebridge_port: "8087"
|
homebridge_port: "8087"
|
||||||
|
|
||||||
|
|
||||||
###
|
|
||||||
### Tautulli
|
|
||||||
###
|
|
||||||
tautulli_available_externally: "false"
|
|
||||||
tautulli_config_directory: "{{ docker_home }}/tautulli/config"
|
|
||||||
tautulli_user_id: "0"
|
|
||||||
tautulli_group_id: "0"
|
|
||||||
tautulli_port: "8185"
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Mylar
|
### Mylar
|
||||||
###
|
###
|
||||||
|
@ -443,13 +415,6 @@ minidlna_media_directory2: "{{ tv_root }}"
|
||||||
minidlna_friendly_name: "{{ ansible_nas_hostname }}"
|
minidlna_friendly_name: "{{ ansible_nas_hostname }}"
|
||||||
minidlna_port: "8201"
|
minidlna_port: "8201"
|
||||||
|
|
||||||
###
|
|
||||||
### get_iplayer
|
|
||||||
###
|
|
||||||
get_iplayer_config_directory: "{{ docker_home }}/get_iplayer"
|
|
||||||
get_iplayer_download_directory: "{{ tv_root }}/iplayer_downloads"
|
|
||||||
get_iplayer_port: "8182"
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### mymediaforalexa
|
### mymediaforalexa
|
||||||
###
|
###
|
||||||
|
@ -479,16 +444,6 @@ firefly_available_externally: "false"
|
||||||
firefly_data_directory: "{{ docker_home }}/firefly"
|
firefly_data_directory: "{{ docker_home }}/firefly"
|
||||||
firefly_port: "8066"
|
firefly_port: "8066"
|
||||||
|
|
||||||
###
|
|
||||||
### 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
|
### Wallabag
|
||||||
###
|
###
|
||||||
|
|
31
nas.yml
31
nas.yml
|
@ -118,6 +118,11 @@
|
||||||
- nextcloud
|
- nextcloud
|
||||||
when: (nextcloud_enabled | default(False))
|
when: (nextcloud_enabled | default(False))
|
||||||
|
|
||||||
|
- role: nzbget
|
||||||
|
tags:
|
||||||
|
- nzbget
|
||||||
|
when: (nzbget_enabled | default(False))
|
||||||
|
|
||||||
- role: organizr
|
- role: organizr
|
||||||
tags:
|
tags:
|
||||||
- organizr
|
- organizr
|
||||||
|
@ -128,6 +133,11 @@
|
||||||
- portainer
|
- portainer
|
||||||
when: (portainer_enabled | default(False))
|
when: (portainer_enabled | default(False))
|
||||||
|
|
||||||
|
- role: pyload
|
||||||
|
tags:
|
||||||
|
- pyload
|
||||||
|
when: (pyload_enabled | default(False))
|
||||||
|
|
||||||
- role: ombi
|
- role: ombi
|
||||||
tags:
|
tags:
|
||||||
- ombi
|
- ombi
|
||||||
|
@ -163,6 +173,11 @@
|
||||||
- syncthing
|
- syncthing
|
||||||
when: (syncthing_enabled | default(False))
|
when: (syncthing_enabled | default(False))
|
||||||
|
|
||||||
|
- role: tautulli
|
||||||
|
tags:
|
||||||
|
- tautulli
|
||||||
|
when: (tautulli_enabled | default(False))
|
||||||
|
|
||||||
- role: transmission
|
- role: transmission
|
||||||
tags:
|
tags:
|
||||||
- transmission
|
- transmission
|
||||||
|
@ -193,14 +208,6 @@
|
||||||
when: (firefly_enabled | default(False))
|
when: (firefly_enabled | default(False))
|
||||||
tags: firefly
|
tags: firefly
|
||||||
|
|
||||||
- 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
|
- import_tasks: tasks/thelounge.yml
|
||||||
when: (thelounge_enabled | default(False))
|
when: (thelounge_enabled | default(False))
|
||||||
tags: thelounge
|
tags: thelounge
|
||||||
|
@ -241,10 +248,6 @@
|
||||||
when: (minidlna_enabled | default(False))
|
when: (minidlna_enabled | default(False))
|
||||||
tags: minidlna
|
tags: minidlna
|
||||||
|
|
||||||
- import_tasks: tasks/get_iplayer.yml
|
|
||||||
when: (get_iplayer_enabled | default(False))
|
|
||||||
tags: get_iplayer
|
|
||||||
|
|
||||||
- import_tasks: tasks/mymediaforalexa.yml
|
- import_tasks: tasks/mymediaforalexa.yml
|
||||||
when: (mymediaforalexa_enabled | default(False))
|
when: (mymediaforalexa_enabled | default(False))
|
||||||
tags: mymediaforalexa
|
tags: mymediaforalexa
|
||||||
|
@ -257,10 +260,6 @@
|
||||||
when: (joomla_enabled | default(False))
|
when: (joomla_enabled | default(False))
|
||||||
tags: joomla
|
tags: joomla
|
||||||
|
|
||||||
- import_tasks: tasks/nzbget.yml
|
|
||||||
when: (nzbget_enabled | default(False))
|
|
||||||
tags: nzbget
|
|
||||||
|
|
||||||
- import_tasks: tasks/wallabag.yml
|
- import_tasks: tasks/wallabag.yml
|
||||||
when: (wallabag_enabled | default(False))
|
when: (wallabag_enabled | default(False))
|
||||||
tags: wallabag
|
tags: wallabag
|
||||||
|
|
21
roles/application-template/defaults/main.yml
Normal file
21
roles/application-template/defaults/main.yml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
---
|
||||||
|
# enable or disable the application
|
||||||
|
example_app_enabled: false
|
||||||
|
example_app_available_externally: "false"
|
||||||
|
|
||||||
|
# directories
|
||||||
|
example_app_config_directory: "{{ docker_home }}/example_app/config"
|
||||||
|
example_app_logs: "{{ docker_home }}/example_app/logs"
|
||||||
|
example_app_share_directory: "{{ example_share_root }}"
|
||||||
|
|
||||||
|
|
||||||
|
# uid / gid
|
||||||
|
example_app_user_id: "0"
|
||||||
|
example_app_group_id: "0"
|
||||||
|
|
||||||
|
# network
|
||||||
|
example_app_hostname: "example_app"
|
||||||
|
example_app_port: "12345"
|
||||||
|
|
||||||
|
# specs
|
||||||
|
example_app_memory: "1g"
|
36
roles/application-template/tasks/main.yml
Normal file
36
roles/application-template/tasks/main.yml
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
---
|
||||||
|
- name: Create Example_App Directories
|
||||||
|
file:
|
||||||
|
path: "{{ item }}"
|
||||||
|
state: directory
|
||||||
|
# mode: 0755
|
||||||
|
with_items:
|
||||||
|
- "{{ example_app_config_directory }}"
|
||||||
|
- "{{ example_app_logs }}"
|
||||||
|
|
||||||
|
- name: example_app Docker Container
|
||||||
|
docker_container:
|
||||||
|
name: example_app
|
||||||
|
image: example_app/example_app
|
||||||
|
pull: true
|
||||||
|
volumes:
|
||||||
|
- "{{ example_app_config_directory }}:/config:rw"
|
||||||
|
- "{{ example_app_logs }}:/logs:rw"
|
||||||
|
- "{{ example_app_data_directory }}:/data:rw"
|
||||||
|
network_mode: "bridge"
|
||||||
|
ports:
|
||||||
|
- "{{ example_app_port_a }}:80"
|
||||||
|
- "{{ example_app_port_b }}:80"
|
||||||
|
env:
|
||||||
|
TZ: "{{ ansible_nas_timezone }}"
|
||||||
|
PUID: "{{ example_app_user_id }}"
|
||||||
|
PGID: "{{ example_app_group_id }}"
|
||||||
|
restart_policy: unless-stopped
|
||||||
|
memory: "{{ example_app_memory }}"
|
||||||
|
labels:
|
||||||
|
traefik.enable: "{{ example_app_available_externally }}"
|
||||||
|
traefik.http.routers.example_app.rule: "Host(`{{ example_app_hostname }}.{{ ansible_nas_domain }}`)"
|
||||||
|
traefik.http.routers.example_app.tls.certresolver: "letsencrypt"
|
||||||
|
traefik.http.routers.example_app.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
|
traefik.http.routers.example_app.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||||
|
traefik.http.services.example_app.loadbalancer.server.port: "80"
|
12
roles/get-iplayer/defaults/main.yml
Normal file
12
roles/get-iplayer/defaults/main.yml
Normal file
|
@ -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"
|
|
@ -17,5 +17,5 @@
|
||||||
ports:
|
ports:
|
||||||
- "{{ get_iplayer_port }}:8181"
|
- "{{ get_iplayer_port }}:8181"
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
memory: 1g
|
memory: "{{ get_iplayer_memory }}"
|
||||||
|
|
18
roles/nzbget/defaults/main.yml
Normal file
18
roles/nzbget/defaults/main.yml
Normal file
|
@ -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"
|
|
@ -24,7 +24,7 @@
|
||||||
memory: 1g
|
memory: 1g
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "{{ nzbget_available_externally }}"
|
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.certresolver: "letsencrypt"
|
||||||
traefik.http.routers.nzbget.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.nzbget.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.nzbget.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.nzbget.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
19
roles/pyload/defaults/main.yml
Normal file
19
roles/pyload/defaults/main.yml
Normal file
|
@ -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"
|
|
@ -23,10 +23,10 @@
|
||||||
UID: "{{ pyload_user_id }}"
|
UID: "{{ pyload_user_id }}"
|
||||||
GID: "{{ pyload_group_id }}"
|
GID: "{{ pyload_group_id }}"
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
memory: 1g
|
memory: "{{ pyload_memory }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "{{ pyload_available_externally }}"
|
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.certresolver: "letsencrypt"
|
||||||
traefik.http.routers.pyload.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.pyload.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.pyload.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.pyload.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
17
roles/tautulli/defaults/main.yml
Normal file
17
roles/tautulli/defaults/main.yml
Normal file
|
@ -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"
|
|
@ -22,10 +22,10 @@
|
||||||
PUID: "{{ tautulli_user_id }}"
|
PUID: "{{ tautulli_user_id }}"
|
||||||
PGID: "{{ tautulli_group_id }}"
|
PGID: "{{ tautulli_group_id }}"
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
memory: 1g
|
memory: "{{ tautulli_memory }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "{{ tautulli_available_externally }}"
|
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.certresolver: "letsencrypt"
|
||||||
traefik.http.routers.tautulli.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.tautulli.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.tautulli.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.tautulli.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
Loading…
Reference in a new issue