mirror of
https://github.com/davestephens/ansible-nas
synced 2025-01-26 10:15:14 +00:00
Merge branch 'master' into mv-firefly
This commit is contained in:
commit
53ebaa4a45
10 changed files with 106 additions and 77 deletions
|
@ -30,9 +30,6 @@ jellyfin_enabled: false
|
||||||
|
|
||||||
youtubedlmaterial_enabled: false
|
youtubedlmaterial_enabled: false
|
||||||
|
|
||||||
# Music
|
|
||||||
mymediaforalexa_enabled: false
|
|
||||||
|
|
||||||
# News
|
# News
|
||||||
miniflux_enabled: false
|
miniflux_enabled: false
|
||||||
|
|
||||||
|
@ -40,7 +37,6 @@ miniflux_enabled: false
|
||||||
glances_enabled: false
|
glances_enabled: false
|
||||||
stats_enabled: false
|
stats_enabled: false
|
||||||
guacamole_enabled: false
|
guacamole_enabled: false
|
||||||
cloudcmd_enabled: false
|
|
||||||
virtual_desktop_enabled: false
|
virtual_desktop_enabled: false
|
||||||
krusader_enabled: false
|
krusader_enabled: false
|
||||||
|
|
||||||
|
@ -51,7 +47,6 @@ timemachine_enabled: false
|
||||||
gitlab_enabled: false
|
gitlab_enabled: false
|
||||||
|
|
||||||
# IRC
|
# IRC
|
||||||
znc_enabled: false
|
|
||||||
thelounge_enabled: false
|
thelounge_enabled: false
|
||||||
|
|
||||||
# Wallabag
|
# Wallabag
|
||||||
|
@ -59,7 +54,6 @@ wallabag_enabled: false
|
||||||
|
|
||||||
# Home Automation
|
# Home Automation
|
||||||
mosquitto_enabled: false
|
mosquitto_enabled: false
|
||||||
homebridge_enabled: false
|
|
||||||
openhab_enabled: false
|
openhab_enabled: false
|
||||||
|
|
||||||
# Books
|
# Books
|
||||||
|
@ -288,16 +282,6 @@ pytivo_podcasts_directory: "{{ podcasts_root }}"
|
||||||
pytivo_user_id: "0"
|
pytivo_user_id: "0"
|
||||||
pytivo_group_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
|
||||||
###
|
###
|
||||||
|
@ -323,17 +307,6 @@ youtubedlmaterial_port_http: "8998"
|
||||||
###
|
###
|
||||||
openvpn_config_directory: "{{ docker_home }}/openvpn"
|
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
|
### Stats
|
||||||
###
|
###
|
||||||
|
@ -385,16 +358,6 @@ miniflux_admin_username: admin
|
||||||
miniflux_admin_password: supersecure
|
miniflux_admin_password: supersecure
|
||||||
miniflux_port: "8070"
|
miniflux_port: "8070"
|
||||||
|
|
||||||
###
|
|
||||||
### 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
|
### Krusader
|
||||||
###
|
###
|
||||||
|
@ -425,12 +388,6 @@ get_iplayer_config_directory: "{{ docker_home }}/get_iplayer"
|
||||||
get_iplayer_download_directory: "{{ tv_root }}/iplayer_downloads"
|
get_iplayer_download_directory: "{{ tv_root }}/iplayer_downloads"
|
||||||
get_iplayer_port: "8182"
|
get_iplayer_port: "8182"
|
||||||
|
|
||||||
###
|
|
||||||
### mymediaforalexa
|
|
||||||
###
|
|
||||||
mymediaforalexa_media_directory: "{{ music_root }}"
|
|
||||||
mymediaforalexa_data_directory: "{{ docker_home }}/mymediaforalexa"
|
|
||||||
|
|
||||||
###
|
###
|
||||||
### Jackett
|
### Jackett
|
||||||
###
|
###
|
||||||
|
|
39
nas.yml
39
nas.yml
|
@ -58,6 +58,11 @@
|
||||||
- bitwarden
|
- bitwarden
|
||||||
when: (bitwarden_enabled | default(False))
|
when: (bitwarden_enabled | default(False))
|
||||||
|
|
||||||
|
- role: cloudcmd
|
||||||
|
tags:
|
||||||
|
- cloudcmd
|
||||||
|
when: (cloudcmd_enabled | default(False))
|
||||||
|
|
||||||
- role: cloudflare_ddns
|
- role: cloudflare_ddns
|
||||||
tags:
|
tags:
|
||||||
- cloudflare_ddns
|
- cloudflare_ddns
|
||||||
|
@ -103,12 +108,17 @@
|
||||||
- homeassistant
|
- homeassistant
|
||||||
when: (homeassistant_enabled | default(False))
|
when: (homeassistant_enabled | default(False))
|
||||||
|
|
||||||
|
- role: homebridge
|
||||||
|
tags:
|
||||||
|
- homebridge
|
||||||
|
when: (homebridge_enabled | default(False))
|
||||||
|
|
||||||
- role: lidarr
|
- role: lidarr
|
||||||
tags:
|
tags:
|
||||||
- lidarr
|
- lidarr
|
||||||
when: (lidarr_enabled | default(False))
|
when: (lidarr_enabled | default(False))
|
||||||
|
|
||||||
- role: minidlna
|
- role: minidlna
|
||||||
tags:
|
tags:
|
||||||
- minidlna
|
- minidlna
|
||||||
when: (minidlna_enabled | default(False))
|
when: (minidlna_enabled | default(False))
|
||||||
|
@ -118,6 +128,11 @@
|
||||||
- mylar
|
- mylar
|
||||||
when: (mylar_enabled | default(False))
|
when: (mylar_enabled | default(False))
|
||||||
|
|
||||||
|
- role: mymediaforalexa
|
||||||
|
tags:
|
||||||
|
- mymediaforalexa
|
||||||
|
when: (mymediaforalexa_enabled | default(False))
|
||||||
|
|
||||||
- role: n8n
|
- role: n8n
|
||||||
tags:
|
tags:
|
||||||
- n8n_enabled
|
- n8n_enabled
|
||||||
|
@ -203,6 +218,12 @@
|
||||||
- watchtower
|
- watchtower
|
||||||
when: (watchtower_enabled | default(False))
|
when: (watchtower_enabled | default(False))
|
||||||
|
|
||||||
|
- role: znc
|
||||||
|
tags:
|
||||||
|
- znc
|
||||||
|
when: (znc_enabled | default(False))
|
||||||
|
|
||||||
|
tasks:
|
||||||
- import_tasks: tasks/tautulli.yml
|
- import_tasks: tasks/tautulli.yml
|
||||||
when: (tautulli_enabled | default(False))
|
when: (tautulli_enabled | default(False))
|
||||||
tags: tautulli
|
tags: tautulli
|
||||||
|
@ -219,10 +240,6 @@
|
||||||
when: (glances_enabled | default(False))
|
when: (glances_enabled | default(False))
|
||||||
tags: glances
|
tags: glances
|
||||||
|
|
||||||
- import_tasks: tasks/znc.yml
|
|
||||||
when: (znc_enabled | default(False))
|
|
||||||
tags: znc
|
|
||||||
|
|
||||||
- import_tasks: tasks/miniflux.yml
|
- import_tasks: tasks/miniflux.yml
|
||||||
when: (miniflux_enabled | default(False))
|
when: (miniflux_enabled | default(False))
|
||||||
tags: miniflux
|
tags: miniflux
|
||||||
|
@ -247,10 +264,6 @@
|
||||||
when: (get_iplayer_enabled | default(False))
|
when: (get_iplayer_enabled | default(False))
|
||||||
tags: get_iplayer
|
tags: get_iplayer
|
||||||
|
|
||||||
- import_tasks: tasks/mymediaforalexa.yml
|
|
||||||
when: (mymediaforalexa_enabled | default(False))
|
|
||||||
tags: mymediaforalexa
|
|
||||||
|
|
||||||
- import_tasks: tasks/jackett.yml
|
- import_tasks: tasks/jackett.yml
|
||||||
when: (jackett_enabled | default(False))
|
when: (jackett_enabled | default(False))
|
||||||
tags: jackett
|
tags: jackett
|
||||||
|
@ -271,10 +284,6 @@
|
||||||
when: (mosquitto_enabled | default(False))
|
when: (mosquitto_enabled | default(False))
|
||||||
tags: mosquitto
|
tags: mosquitto
|
||||||
|
|
||||||
- import_tasks: tasks/homebridge.yml
|
|
||||||
when: (homebridge_enabled | default(False))
|
|
||||||
tags: homebridge
|
|
||||||
|
|
||||||
- import_tasks: tasks/calibre.yml
|
- import_tasks: tasks/calibre.yml
|
||||||
when: (calibre_enabled | default(False))
|
when: (calibre_enabled | default(False))
|
||||||
tags: calibre
|
tags: calibre
|
||||||
|
@ -287,10 +296,6 @@
|
||||||
when: (jellyfin_enabled | default(False))
|
when: (jellyfin_enabled | default(False))
|
||||||
tags: jellyfin
|
tags: jellyfin
|
||||||
|
|
||||||
- import_tasks: tasks/cloudcmd.yml
|
|
||||||
when: (cloudcmd_enabled | default(False))
|
|
||||||
tags: cloudcmd
|
|
||||||
|
|
||||||
- import_tasks: tasks/krusader.yml
|
- import_tasks: tasks/krusader.yml
|
||||||
when: (krusader_enabled | default(False))
|
when: (krusader_enabled | default(False))
|
||||||
tags: krusader
|
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:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ cloudcmd_data_directory }}"
|
- "{{ cloudcmd_data_directory }}"
|
||||||
|
|
||||||
- name: CloudCmd
|
- name: Create Cloudcmd Docker Container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: cloudcmd
|
name: cloudcmd
|
||||||
image: coderaiser/cloudcmd
|
image: coderaiser/cloudcmd
|
||||||
|
@ -21,10 +21,10 @@
|
||||||
PUID: "{{ cloudcmd_user_id }}"
|
PUID: "{{ cloudcmd_user_id }}"
|
||||||
PGID: "{{ cloudcmd_group_id }}"
|
PGID: "{{ cloudcmd_group_id }}"
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
memory: 1g
|
memory: "{{ cloudcmd_memory }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "{{ cloudcmd_available_externally }}"
|
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.certresolver: "letsencrypt"
|
||||||
traefik.http.routers.cloudcmd.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.cloudcmd.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.cloudcmd.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.cloudcmd.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
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:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
|
# mode: 0755
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ homebridge_config_directory }}"
|
- "{{ homebridge_config_directory }}"
|
||||||
|
|
||||||
- name: Homebridge Docker Container
|
- name: Create Homebridge Docker Container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: homebridge
|
name: homebridge
|
||||||
image: oznu/homebridge
|
image: oznu/homebridge
|
||||||
pull: true
|
pull: true
|
||||||
volumes:
|
volumes:
|
||||||
- "{{ homebridge_config_directory }}:/homebridge"
|
- "{{ homebridge_config_directory }}:/homebridge"
|
||||||
network_mode: host
|
network_mode: "host"
|
||||||
env:
|
env:
|
||||||
TZ: "{{ ansible_nas_timezone }}"
|
TZ: "{{ ansible_nas_timezone }}"
|
||||||
PGID: "{{ homebridge_group_id }}"
|
PGID: "{{ homebridge_group_id }}"
|
||||||
|
@ -21,10 +22,10 @@
|
||||||
HOMEBRIDGE_CONFIG_UI: "1"
|
HOMEBRIDGE_CONFIG_UI: "1"
|
||||||
HOMEBRIDGE_CONFIG_UI_PORT: "{{ homebridge_port }}"
|
HOMEBRIDGE_CONFIG_UI_PORT: "{{ homebridge_port }}"
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
memory: 1g
|
memory: "{{ homebridge_memory }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "{{ homebridge_available_externally }}"
|
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.certresolver: "letsencrypt"
|
||||||
traefik.http.routers.homebridge.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.homebridge.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.homebridge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.homebridge.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:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
|
@ -6,7 +7,7 @@
|
||||||
- "{{ mymediaforalexa_media_directory }}"
|
- "{{ mymediaforalexa_media_directory }}"
|
||||||
- "{{ mymediaforalexa_data_directory }}"
|
- "{{ mymediaforalexa_data_directory }}"
|
||||||
|
|
||||||
- name: mymedia for alexa Docker Container
|
- name: mymediaforalexa Docker Container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: mymediaforalexa
|
name: mymediaforalexa
|
||||||
image: bizmodeller/mymediaforalexa
|
image: bizmodeller/mymediaforalexa
|
||||||
|
@ -16,5 +17,4 @@
|
||||||
- "{{ mymediaforalexa_data_directory }}:/datadir:rw"
|
- "{{ mymediaforalexa_data_directory }}:/datadir:rw"
|
||||||
network_mode: host
|
network_mode: host
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
memory: 1g
|
memory: "{{ mymediaforalexa_memory }}"
|
||||||
|
|
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:
|
file:
|
||||||
path: "{{ item }}"
|
path: "{{ item }}"
|
||||||
state: directory
|
state: directory
|
||||||
|
# mode: 0755
|
||||||
with_items:
|
with_items:
|
||||||
- "{{ znc_data_directory }}"
|
- "{{ znc_data_directory }}"
|
||||||
|
|
||||||
- name: ZNC
|
- name: Create ZNC Docker Container
|
||||||
docker_container:
|
docker_container:
|
||||||
name: znc
|
name: znc
|
||||||
image: znc
|
image: znc
|
||||||
|
@ -20,10 +21,10 @@
|
||||||
PUID: "{{ znc_user_id }}"
|
PUID: "{{ znc_user_id }}"
|
||||||
PGID: "{{ znc_group_id }}"
|
PGID: "{{ znc_group_id }}"
|
||||||
restart_policy: unless-stopped
|
restart_policy: unless-stopped
|
||||||
memory: 1g
|
memory: "{{ znc_memory }}"
|
||||||
labels:
|
labels:
|
||||||
traefik.enable: "{{ znc_available_externally }}"
|
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.certresolver: "letsencrypt"
|
||||||
traefik.http.routers.znc.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
traefik.http.routers.znc.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||||
traefik.http.routers.znc.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
traefik.http.routers.znc.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
Loading…
Reference in a new issue