mirror of
https://github.com/davestephens/ansible-nas
synced 2024-12-25 11:03:07 +00:00
Merge branch 'master' into mv-miniflux
This commit is contained in:
commit
f18262e823
23 changed files with 246 additions and 177 deletions
|
@ -1,16 +1,21 @@
|
|||
---
|
||||
dist: focal
|
||||
language: python
|
||||
|
||||
services: docker
|
||||
|
||||
env:
|
||||
- playbook: nas.yml
|
||||
distro: ubuntu1804
|
||||
distro: ubuntu2004
|
||||
test_syntax: true
|
||||
test_playbook: false
|
||||
test_idempotence: false
|
||||
|
||||
before_install:
|
||||
- sudo apt-get -y install ansible
|
||||
|
||||
install:
|
||||
- sudo apt install ansible
|
||||
- pip install ansible-lint
|
||||
- pip install mkdocs
|
||||
- pip install mkdocs-material
|
||||
|
|
|
@ -15,29 +15,14 @@
|
|||
### 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
|
||||
|
||||
# Music
|
||||
mymediaforalexa_enabled: false
|
||||
|
||||
# System Management
|
||||
glances_enabled: false
|
||||
stats_enabled: false
|
||||
guacamole_enabled: false
|
||||
cloudcmd_enabled: false
|
||||
virtual_desktop_enabled: false
|
||||
krusader_enabled: false
|
||||
|
||||
|
@ -48,18 +33,13 @@ timemachine_enabled: false
|
|||
gitlab_enabled: false
|
||||
|
||||
# IRC
|
||||
znc_enabled: false
|
||||
thelounge_enabled: false
|
||||
|
||||
# Finance
|
||||
firefly_enabled: false
|
||||
|
||||
# Wallabag
|
||||
wallabag_enabled: false
|
||||
|
||||
# Home Automation
|
||||
mosquitto_enabled: false
|
||||
homebridge_enabled: false
|
||||
openhab_enabled: false
|
||||
|
||||
# Books
|
||||
|
@ -265,16 +245,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
|
||||
###
|
||||
|
@ -288,24 +258,6 @@ pytivo_podcasts_directory: "{{ podcasts_root }}"
|
|||
pytivo_user_id: "0"
|
||||
pytivo_group_id: "0"
|
||||
|
||||
###
|
||||
### Homebridge
|
||||
###
|
||||
homebridge_available_externally: "false"
|
||||
homebridge_config_directory: "{{ docker_home }}/homebridge/config"
|
||||
homebridge_user_id: "0"
|
||||
homebridge_group_id: "0"
|
||||
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"
|
||||
|
||||
###
|
||||
### YouTubeDL-Material
|
||||
|
@ -323,17 +275,6 @@ youtubedlmaterial_port_http: "8998"
|
|||
###
|
||||
openvpn_config_directory: "{{ docker_home }}/openvpn"
|
||||
|
||||
|
||||
###
|
||||
### ZNC
|
||||
###
|
||||
znc_available_externally: "false"
|
||||
znc_data_directory: "{{ docker_home }}/znc"
|
||||
znc_user_id: "0"
|
||||
znc_group_id: "0"
|
||||
znc_port: "6677"
|
||||
|
||||
|
||||
###
|
||||
### Stats
|
||||
###
|
||||
|
@ -362,12 +303,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
|
||||
|
@ -376,16 +311,6 @@ guacamole_available_externally: "false"
|
|||
guacamole_data_directory: "{{ docker_home }}/guacamole"
|
||||
guacamole_port: "8090"
|
||||
|
||||
###
|
||||
### CloudCmd
|
||||
###
|
||||
cloudcmd_available_externally: "false"
|
||||
cloudcmd_data_directory: "{{ docker_home }}/cloudcmd/config"
|
||||
cloudcmd_browse_directory: "/"
|
||||
cloudcmd_user_id: "0"
|
||||
cloudcmd_group_id: "0"
|
||||
cloudcmd_port: "7373"
|
||||
|
||||
###
|
||||
### Krusader
|
||||
###
|
||||
|
@ -409,27 +334,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"
|
||||
|
||||
###
|
||||
### mymediaforalexa
|
||||
###
|
||||
mymediaforalexa_media_directory: "{{ music_root }}"
|
||||
mymediaforalexa_data_directory: "{{ docker_home }}/mymediaforalexa"
|
||||
|
||||
###
|
||||
### Jackett
|
||||
###
|
||||
jackett_available_externally: "false"
|
||||
jackett_data_directory: "{{ docker_home }}/jackett"
|
||||
jackett_torrents_root: "{{ torrents_root }}"
|
||||
jackett_port: "9117"
|
||||
|
||||
###
|
||||
### The Lounge
|
||||
###
|
||||
|
@ -438,23 +342,6 @@ thelounge_data_directory: "{{ docker_home }}/thelounge"
|
|||
thelounge_port_one: "113"
|
||||
thelounge_port_two: "9002"
|
||||
|
||||
###
|
||||
### Firefly
|
||||
###
|
||||
firefly_available_externally: "false"
|
||||
firefly_data_directory: "{{ docker_home }}/firefly"
|
||||
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
|
||||
###
|
||||
|
|
86
nas.yml
86
nas.yml
|
@ -58,6 +58,11 @@
|
|||
- bitwarden
|
||||
when: (bitwarden_enabled | default(False))
|
||||
|
||||
- role: cloudcmd
|
||||
tags:
|
||||
- cloudcmd
|
||||
when: (cloudcmd_enabled | default(False))
|
||||
|
||||
- role: cloudflare_ddns
|
||||
tags:
|
||||
- cloudflare_ddns
|
||||
|
@ -83,11 +88,21 @@
|
|||
- emby
|
||||
when: (emby_enabled | default(False))
|
||||
|
||||
- role: firefly
|
||||
tags:
|
||||
- firefly
|
||||
when: (firefly_enabled | default(False))
|
||||
|
||||
- role: gitea
|
||||
tags:
|
||||
- gitea
|
||||
when: (gitea_enabled | default(False))
|
||||
|
||||
- role: get_iplayer
|
||||
tags:
|
||||
- get_iplayer
|
||||
when: (get_iplayer_enabled | default(False))
|
||||
|
||||
- role: heimdall
|
||||
tags:
|
||||
- heimdall
|
||||
|
@ -98,6 +113,16 @@
|
|||
- homeassistant
|
||||
when: (homeassistant_enabled | default(False))
|
||||
|
||||
- role: homebridge
|
||||
tags:
|
||||
- homebridge
|
||||
when: (homebridge_enabled | default(False))
|
||||
|
||||
- role: jackett
|
||||
tags:
|
||||
- jackettfalse
|
||||
when: (jackett_enabled | default(False))
|
||||
|
||||
- role: lidarr
|
||||
tags:
|
||||
- lidarr
|
||||
|
@ -118,6 +143,11 @@
|
|||
- mylar
|
||||
when: (mylar_enabled | default(False))
|
||||
|
||||
- role: mymediaforalexa
|
||||
tags:
|
||||
- mymediaforalexa
|
||||
when: (mymediaforalexa_enabled | default(False))
|
||||
|
||||
- role: n8n
|
||||
tags:
|
||||
- n8n_enabled
|
||||
|
@ -133,6 +163,11 @@
|
|||
- nextcloud
|
||||
when: (nextcloud_enabled | default(False))
|
||||
|
||||
- role: nzbget
|
||||
tags:
|
||||
- nzbget
|
||||
when: (nzbget_enabled | default(False))
|
||||
|
||||
- role: organizr
|
||||
tags:
|
||||
- organizr
|
||||
|
@ -143,6 +178,11 @@
|
|||
- portainer
|
||||
when: (portainer_enabled | default(False))
|
||||
|
||||
- role: pyload
|
||||
tags:
|
||||
- pyload
|
||||
when: (pyload_enabled | default(False))
|
||||
|
||||
- role: ombi
|
||||
tags:
|
||||
- ombi
|
||||
|
@ -178,6 +218,11 @@
|
|||
- syncthing
|
||||
when: (syncthing_enabled | default(False))
|
||||
|
||||
- role: tautulli
|
||||
tags:
|
||||
- tautulli
|
||||
when: (tautulli_enabled | default(False))
|
||||
|
||||
- role: transmission
|
||||
tags:
|
||||
- transmission
|
||||
|
@ -203,19 +248,12 @@
|
|||
- watchtower
|
||||
when: (watchtower_enabled | default(False))
|
||||
|
||||
- role: znc
|
||||
tags:
|
||||
- znc
|
||||
when: (znc_enabled | default(False))
|
||||
|
||||
tasks:
|
||||
- import_tasks: tasks/firefly.yml
|
||||
when: (firefly_enabled | default(False))
|
||||
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
|
||||
when: (thelounge_enabled | default(False))
|
||||
tags: thelounge
|
||||
|
@ -224,10 +262,6 @@
|
|||
when: (glances_enabled | default(False))
|
||||
tags: glances
|
||||
|
||||
- import_tasks: tasks/znc.yml
|
||||
when: (znc_enabled | default(False))
|
||||
tags: znc
|
||||
|
||||
- import_tasks: tasks/gitlab.yml
|
||||
when: (gitlab_enabled | default(False))
|
||||
tags: gitlab
|
||||
|
@ -244,26 +278,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/mymediaforalexa.yml
|
||||
when: (mymediaforalexa_enabled | default(False))
|
||||
tags: mymediaforalexa
|
||||
|
||||
- import_tasks: tasks/jackett.yml
|
||||
when: (jackett_enabled | default(False))
|
||||
tags: jackett
|
||||
|
||||
- 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
|
||||
|
@ -272,10 +294,6 @@
|
|||
when: (mosquitto_enabled | default(False))
|
||||
tags: mosquitto
|
||||
|
||||
- import_tasks: tasks/homebridge.yml
|
||||
when: (homebridge_enabled | default(False))
|
||||
tags: homebridge
|
||||
|
||||
- import_tasks: tasks/calibre.yml
|
||||
when: (calibre_enabled | default(False))
|
||||
tags: calibre
|
||||
|
@ -288,10 +306,6 @@
|
|||
when: (jellyfin_enabled | default(False))
|
||||
tags: jellyfin
|
||||
|
||||
- import_tasks: tasks/cloudcmd.yml
|
||||
when: (cloudcmd_enabled | default(False))
|
||||
tags: cloudcmd
|
||||
|
||||
- import_tasks: tasks/krusader.yml
|
||||
when: (krusader_enabled | default(False))
|
||||
tags: krusader
|
||||
|
|
19
roles/cloudcmd/defaults/main.yml
Normal file
19
roles/cloudcmd/defaults/main.yml
Normal file
|
@ -0,0 +1,19 @@
|
|||
---
|
||||
# enable or disable the application
|
||||
cloudcmd_enabled: false
|
||||
cloudcmd_available_externally: "false"
|
||||
|
||||
# directories
|
||||
cloudcmd_data_directory: "{{ docker_home }}/cloudcmd/config"
|
||||
cloudcmd_browse_directory: "/"
|
||||
|
||||
# uid / gid
|
||||
cloudcmd_user_id: "0"
|
||||
cloudcmd_group_id: "0"
|
||||
|
||||
# network
|
||||
cloudcmd_hostname: "cloudcmd"
|
||||
cloudcmd_port: "7373"
|
||||
|
||||
# specs
|
||||
cloudcmd_memory: "1g"
|
|
@ -1,12 +1,12 @@
|
|||
---
|
||||
- name: Create CloudCmd Directories
|
||||
- name: Create Cloudcmd Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ cloudcmd_data_directory }}"
|
||||
|
||||
- name: CloudCmd
|
||||
- name: Create Cloudcmd Docker Container
|
||||
docker_container:
|
||||
name: cloudcmd
|
||||
image: coderaiser/cloudcmd
|
||||
|
@ -21,10 +21,10 @@
|
|||
PUID: "{{ cloudcmd_user_id }}"
|
||||
PGID: "{{ cloudcmd_group_id }}"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
memory: "{{ cloudcmd_memory }}"
|
||||
labels:
|
||||
traefik.enable: "{{ cloudcmd_available_externally }}"
|
||||
traefik.http.routers.cloudcmd.rule: "Host(`cloudcmd.{{ ansible_nas_domain }}`)"
|
||||
traefik.http.routers.cloudcmd.rule: "Host(`{{ cloudcmd_hostname }}.{{ ansible_nas_domain }}`)"
|
||||
traefik.http.routers.cloudcmd.tls.certresolver: "letsencrypt"
|
||||
traefik.http.routers.cloudcmd.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||
traefik.http.routers.cloudcmd.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
14
roles/firefly/defaults/main.yml
Normal file
14
roles/firefly/defaults/main.yml
Normal file
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
# enable or disable the application
|
||||
firefly_enabled: false
|
||||
firefly_available_externally: "false"
|
||||
|
||||
# directories
|
||||
firefly_data_directory: "{{ docker_home }}/firefly"
|
||||
|
||||
# network
|
||||
firefly_hostname: "firefly"
|
||||
firefly_port: "8066"
|
||||
|
||||
# specs
|
||||
firefly_memory: "1g"
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Firefly III Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
@ -49,10 +50,10 @@
|
|||
DB_PASSWORD: "firefly"
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
memory: "{{ firefly_memory }}"
|
||||
labels:
|
||||
traefik.enable: "{{ firefly_available_externally }}"
|
||||
traefik.http.routers.firefly.rule: "Host(`firefly.{{ ansible_nas_domain }}`)"
|
||||
traefik.http.routers.firefly.rule: "Host(`{{ firefly_hostname }}.{{ ansible_nas_domain }}`)"
|
||||
traefik.http.routers.firefly.tls.certresolver: "letsencrypt"
|
||||
traefik.http.routers.firefly.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||
traefik.http.routers.firefly.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
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:
|
||||
- "{{ get_iplayer_port }}:8181"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
memory: "{{ get_iplayer_memory }}"
|
||||
|
18
roles/homebridge/defaults/main.yml
Normal file
18
roles/homebridge/defaults/main.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
# enable or disable the application
|
||||
homebridge_enabled: false
|
||||
homebridge_available_externally: "false"
|
||||
|
||||
# directories
|
||||
homebridge_config_directory: "{{ docker_home }}/homebridge/config"
|
||||
|
||||
# uid / gid
|
||||
homebridge_user_id: "0"
|
||||
homebridge_group_id: "0"
|
||||
|
||||
# network
|
||||
homebridge_hostname: "homebridge"
|
||||
homebridge_port: "8087"
|
||||
|
||||
# specs
|
||||
homebridge_memory: "1g"
|
|
@ -3,17 +3,18 @@
|
|||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
# mode: 0755
|
||||
with_items:
|
||||
- "{{ homebridge_config_directory }}"
|
||||
|
||||
- name: Homebridge Docker Container
|
||||
- name: Create Homebridge Docker Container
|
||||
docker_container:
|
||||
name: homebridge
|
||||
image: oznu/homebridge
|
||||
pull: true
|
||||
volumes:
|
||||
- "{{ homebridge_config_directory }}:/homebridge"
|
||||
network_mode: host
|
||||
network_mode: "host"
|
||||
env:
|
||||
TZ: "{{ ansible_nas_timezone }}"
|
||||
PGID: "{{ homebridge_group_id }}"
|
||||
|
@ -21,10 +22,10 @@
|
|||
HOMEBRIDGE_CONFIG_UI: "1"
|
||||
HOMEBRIDGE_CONFIG_UI_PORT: "{{ homebridge_port }}"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
memory: "{{ homebridge_memory }}"
|
||||
labels:
|
||||
traefik.enable: "{{ homebridge_available_externally }}"
|
||||
traefik.http.routers.homebridge.rule: "Host(`homebridge.{{ ansible_nas_domain }}`)"
|
||||
traefik.http.routers.homebridge.rule: "Host(`{{ homebridge_hostname }}.{{ ansible_nas_domain }}`)"
|
||||
traefik.http.routers.homebridge.tls.certresolver: "letsencrypt"
|
||||
traefik.http.routers.homebridge.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||
traefik.http.routers.homebridge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
15
roles/jackett/defaults/main.yml
Normal file
15
roles/jackett/defaults/main.yml
Normal file
|
@ -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"
|
|
@ -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 }}"
|
10
roles/mymediaforalexa/defaults/main.yml
Normal file
10
roles/mymediaforalexa/defaults/main.yml
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
# enable or disable the application
|
||||
mymediaforalexa_enabled: false
|
||||
|
||||
# directories
|
||||
mymediaforalexa_media_directory: "{{ music_root }}"
|
||||
mymediaforalexa_data_directory: "{{ docker_home }}/mymediaforalexa"
|
||||
|
||||
# specs
|
||||
mymediaforalexa_memory: "1g"
|
|
@ -1,4 +1,5 @@
|
|||
- name: Create mymedia for alexa Directories
|
||||
---
|
||||
- name: Create Mymediaforalexa Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
|
@ -6,7 +7,7 @@
|
|||
- "{{ mymediaforalexa_media_directory }}"
|
||||
- "{{ mymediaforalexa_data_directory }}"
|
||||
|
||||
- name: mymedia for alexa Docker Container
|
||||
- name: mymediaforalexa Docker Container
|
||||
docker_container:
|
||||
name: mymediaforalexa
|
||||
image: bizmodeller/mymediaforalexa
|
||||
|
@ -16,5 +17,4 @@
|
|||
- "{{ mymediaforalexa_data_directory }}:/datadir:rw"
|
||||
network_mode: host
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
|
||||
memory: "{{ mymediaforalexa_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
|
||||
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 }}"
|
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 }}"
|
||||
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 }}"
|
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 }}"
|
||||
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 }}"
|
18
roles/znc/defaults/main.yml
Normal file
18
roles/znc/defaults/main.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
---
|
||||
# enable or disable the application
|
||||
znc_enabled: false
|
||||
znc_available_externally: "false"
|
||||
|
||||
# directories
|
||||
znc_data_directory: "{{ docker_home }}/znc"
|
||||
|
||||
# uid / gid
|
||||
znc_user_id: "0"
|
||||
znc_group_id: "0"
|
||||
|
||||
# network
|
||||
znc_hostname: "znc"
|
||||
znc_port: "6677"
|
||||
|
||||
# specs
|
||||
znc_memory: "1g"
|
|
@ -3,10 +3,11 @@
|
|||
file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
# mode: 0755
|
||||
with_items:
|
||||
- "{{ znc_data_directory }}"
|
||||
|
||||
- name: ZNC
|
||||
- name: Create ZNC Docker Container
|
||||
docker_container:
|
||||
name: znc
|
||||
image: znc
|
||||
|
@ -20,10 +21,10 @@
|
|||
PUID: "{{ znc_user_id }}"
|
||||
PGID: "{{ znc_group_id }}"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
memory: "{{ znc_memory }}"
|
||||
labels:
|
||||
traefik.enable: "{{ znc_available_externally }}"
|
||||
traefik.http.routers.znc.rule: "Host(`znc.{{ ansible_nas_domain }}`)"
|
||||
traefik.http.routers.znc.rule: "Host(`{{ znc_hostname }}.{{ ansible_nas_domain }}`)"
|
||||
traefik.http.routers.znc.tls.certresolver: "letsencrypt"
|
||||
traefik.http.routers.znc.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||
traefik.http.routers.znc.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
Loading…
Reference in a new issue