Yamllint FTW

This commit is contained in:
Dave Stephens 2021-02-21 19:50:07 +00:00
parent a2976d73e6
commit c8e887207d
76 changed files with 178 additions and 186 deletions

1
.github/FUNDING.yml vendored
View file

@ -1 +1,2 @@
---
ko_fi: davestephens ko_fi: davestephens

View file

@ -1,5 +1,4 @@
# This is a basic workflow to help you get started with Actions ---
name: CI name: CI
# Controls when the action will run. # Controls when the action will run.
@ -30,5 +29,7 @@ jobs:
- name: Install test dependencies - name: Install test dependencies
run: pip3 install yamllint ansible-lint==4.3.7 run: pip3 install yamllint ansible-lint==4.3.7
- name: Ansible lint - name: Linting
run: ansible-lint ./nas.yml -x 106,208 run: |
ansible-lint ./nas.yml -x 106,208
yamllint .

View file

@ -1,14 +1,12 @@
# This is a basic workflow to help you get started with Actions ---
name: Integration name: Integration
# Controls when the action will run. # Controls when the action will run.
on: on:
# Allows you to run this workflow manually from the Actions tab # Allows you to run this workflow manually from the Actions tab
workflow_dispatch: workflow_dispatch:
jobs: jobs:
test: test:
name: Test name: Test
runs-on: ubuntu-20.04 runs-on: ubuntu-20.04

1
.gitignore vendored
View file

@ -4,6 +4,7 @@ site
*.retry *.retry
*.log *.log
inventories inventories
.cache
# Vim # Vim
[._]sw[a-p] [._]sw[a-p]

16
.yamllint Normal file
View file

@ -0,0 +1,16 @@
---
extends: default
rules:
line-length: disable
truthy:
allowed-values: ['true', 'false', 'yes', 'no']
comments:
min-spaces-from-content: 1
braces:
min-spaces-inside: 0
max-spaces-inside: 1
ignore: |
.cache
.github/workflows/*.yml

View file

@ -1,24 +1,15 @@
---
apiVersion: 1 apiVersion: 1
providers: providers:
# <string> an unique provider name - name: 'Ansible-NAS Dashboards'
- name: 'Ansible-NAS Dashboards' orgId: 1
# <int> org id. will default to orgId 1 if not specified folder: 'Ansible-NAS'
orgId: 1 folderUid: ''
# <string, required> name of the dashboard folder. Required type: file
folder: 'Ansible-NAS' disableDeletion: false
# <string> folder UID. will be automatically generated if not specified editable: true
folderUid: '' updateIntervalSeconds: 60
# <string, required> provider type. Required allowUiUpdates: false
type: file options:
# <bool> disable dashboard deletion path: /var/lib/grafana/dashboards/ansible-nas
disableDeletion: false
# <bool> enable dashboard editing
editable: true
# <int> how often Grafana will scan for changed dashboards
updateIntervalSeconds: 60
# <bool> allow updating provisioned dashboards from the UI
allowUiUpdates: false
options:
# <string, required> path to dashboard files on disk. Required
path: /var/lib/grafana/dashboards/ansible-nas

View file

@ -1,3 +1,4 @@
---
## ._____. .__ ## ._____. .__
## _____ ____ _____|__\_ |__ | | ____ ____ _____ ______ ## _____ ____ _____|__\_ |__ | | ____ ____ _____ ______
## \__ \ / \ / ___/ || __ \| | _/ __ \ ______ / \\__ \ / ___/ ## \__ \ / \ / ___/ || __ \| | _/ __ \ ______ / \\__ \ / ___/

View file

@ -1,3 +1,4 @@
---
## ._____. .__ ## ._____. .__
## _____ ____ _____|__\_ |__ | | ____ ____ _____ ______ ## _____ ____ _____|__\_ |__ | | ____ ____ _____ ______
## \__ \ / \ / ___/ || __ \| | _/ __ \ ______ / \\__ \ / ___/ ## \__ \ / \ / ___/ || __ \| | _/ __ \ ______ / \\__ \ / ___/
@ -15,4 +16,3 @@ ansible_nas_timezone: Etc/UTC
## Enable some applications ## Enable some applications
heimdall_enabled: true heimdall_enabled: true
portainer_enabled: true portainer_enabled: true

View file

@ -1,3 +1,4 @@
---
# Project information # Project information
site_name: 'Ansible-NAS' site_name: 'Ansible-NAS'
site_description: 'Build a fully functional NAS with an Ubuntu box and this playbook' site_description: 'Build a fully functional NAS with an Ubuntu box and this playbook'
@ -28,4 +29,4 @@ extra:
manifest: 'manifest.webmanifest' manifest: 'manifest.webmanifest'
social: social:
- icon: 'fontawesome/brands/github-alt' - icon: 'fontawesome/brands/github-alt'
link: 'https://github.com/davestephens' link: 'https://github.com/davestephens'

102
nas.yml
View file

@ -254,70 +254,70 @@
when: (znc_enabled | default(False)) when: (znc_enabled | default(False))
tasks: tasks:
- import_tasks: tasks/thelounge.yml - import_tasks: tasks/thelounge.yml
when: (thelounge_enabled | default(False)) when: (thelounge_enabled | default(False))
tags: thelounge tags: thelounge
- import_tasks: tasks/glances.yml - import_tasks: tasks/glances.yml
when: (glances_enabled | default(False)) when: (glances_enabled | default(False))
tags: glances tags: glances
- import_tasks: tasks/gitlab.yml - import_tasks: tasks/gitlab.yml
when: (gitlab_enabled | default(False)) when: (gitlab_enabled | default(False))
tags: gitlab tags: gitlab
- import_tasks: tasks/timemachine.yml - import_tasks: tasks/timemachine.yml
when: (timemachine_enabled | default(False)) when: (timemachine_enabled | default(False))
tags: timemachine tags: timemachine
- import_tasks: tasks/stats.yml - import_tasks: tasks/stats.yml
when: (stats_enabled | default(False)) when: (stats_enabled | default(False))
tags: stats tags: stats
- import_tasks: tasks/guacamole.yml - import_tasks: tasks/guacamole.yml
when: (guacamole_enabled | default(False)) when: (guacamole_enabled | default(False))
tags: guacamole tags: guacamole
- import_tasks: tasks/joomla.yml - import_tasks: tasks/joomla.yml
when: (joomla_enabled | default(False)) when: (joomla_enabled | default(False))
tags: joomla tags: joomla
- import_tasks: tasks/wallabag.yml - import_tasks: tasks/wallabag.yml
when: (wallabag_enabled | default(False)) when: (wallabag_enabled | default(False))
tags: wallabag tags: wallabag
- import_tasks: tasks/mosquitto.yml - import_tasks: tasks/mosquitto.yml
when: (mosquitto_enabled | default(False)) when: (mosquitto_enabled | default(False))
tags: mosquitto tags: mosquitto
- import_tasks: tasks/calibre.yml - import_tasks: tasks/calibre.yml
when: (calibre_enabled | default(False)) when: (calibre_enabled | default(False))
tags: calibre tags: calibre
- import_tasks: tasks/openhab.yml - import_tasks: tasks/openhab.yml
when: (openhab_enabled | default(False)) when: (openhab_enabled | default(False))
tags: openhab tags: openhab
- import_tasks: tasks/jellyfin.yml - import_tasks: tasks/jellyfin.yml
when: (jellyfin_enabled | default(False)) when: (jellyfin_enabled | default(False))
tags: jellyfin tags: jellyfin
- import_tasks: tasks/krusader.yml - import_tasks: tasks/krusader.yml
when: (krusader_enabled | default(False)) when: (krusader_enabled | default(False))
tags: krusader tags: krusader
- import_tasks: tasks/ubooquity.yml - import_tasks: tasks/ubooquity.yml
when: (ubooquity_enabled | default(False)) when: (ubooquity_enabled | default(False))
tags: ubooquity tags: ubooquity
- import_tasks: tasks/youtubedlmaterial.yml - import_tasks: tasks/youtubedlmaterial.yml
when: (youtubedlmaterial_enabled | default(False)) when: (youtubedlmaterial_enabled | default(False))
tags: youtubedlmaterial tags: youtubedlmaterial
- import_tasks: tasks/virtual_desktop.yml - import_tasks: tasks/virtual_desktop.yml
when: (virtual_desktop_enabled | default(False)) when: (virtual_desktop_enabled | default(False))
tags: virtual_desktop tags: virtual_desktop
- import_tasks: tasks/pytivo.yml - import_tasks: tasks/pytivo.yml
when: (pytivo_enabled | default(False)) when: (pytivo_enabled | default(False))
tags: pytivo tags: pytivo

View file

@ -17,5 +17,3 @@
mode: "u=rwX,g=rwX,o=rX" mode: "u=rwX,g=rwX,o=rX"
recurse: true recurse: true
loop: "{{ samba_shares }}" loop: "{{ samba_shares }}"

View file

@ -9,4 +9,4 @@ airsonic_podcasts_directory: "{{ podcasts_root }}"
# network # network
airsonic_port: "4040" airsonic_port: "4040"
airsonic_hostname: "airsonic" airsonic_hostname: "airsonic"

View file

@ -29,4 +29,3 @@
traefik.http.routers.airsonic.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.airsonic.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.airsonic.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.airsonic.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.airsonic.loadbalancer.server.port: "4040" traefik.http.services.airsonic.loadbalancer.server.port: "4040"

View file

@ -9,4 +9,4 @@ docker_image_directory: "{{ docker_home }}/data"
# Docker storage driver, see https://docs.docker.com/storage/storagedriver/select-storage-driver/#supported-backing-filesystems # Docker storage driver, see https://docs.docker.com/storage/storagedriver/select-storage-driver/#supported-backing-filesystems
# You might want to change this to ZFS, depending on your underlying filesystem. # You might want to change this to ZFS, depending on your underlying filesystem.
docker_storage_driver: overlay2 docker_storage_driver: overlay2

View file

@ -40,8 +40,8 @@
- name: Restart Docker - name: Restart Docker
service: service:
name: docker name: docker
state: restarted state: restarted
when: docker_config.changed when: docker_config.changed
tags: tags:
- skip_ansible_lint - skip_ansible_lint

View file

@ -17,4 +17,4 @@ ansible_nas_extra_packages:
# Sets the timezone for your Ansible NAS # Sets the timezone for your Ansible NAS
# You can find a list here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones # You can find a list here https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
ansible_nas_timezone: Etc/UTC ansible_nas_timezone: Etc/UTC

View file

@ -52,4 +52,4 @@
group: ansible-nas group: ansible-nas
mode: "u=rwX,g=rwX,o=rX" mode: "u=rwX,g=rwX,o=rX"
recurse: false recurse: false
loop: "{{ samba_shares }}" loop: "{{ samba_shares }}"

View file

@ -13,4 +13,4 @@ bazarr_group_id: "0"
# network # network
bazarr_port: "6767" bazarr_port: "6767"
bazarr_hostname: "bazarr" bazarr_hostname: "bazarr"

View file

@ -29,4 +29,4 @@
traefik.http.routers.bazarr.tls.certresolver: "letsencrypt" traefik.http.routers.bazarr.tls.certresolver: "letsencrypt"
traefik.http.routers.bazarr.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.bazarr.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.bazarr.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.bazarr.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.bazarr.loadbalancer.server.port: "6767" traefik.http.services.bazarr.loadbalancer.server.port: "6767"

View file

@ -13,4 +13,4 @@ bitwarden_admin_token: qwertyuiop1234567890poiuytrewq0987654321
# To create a user set this to "true", and reprovision the container by re-running the ansible-nas playbook. # To create a user set this to "true", and reprovision the container by re-running the ansible-nas playbook.
# Once you have created your user, set to "false" and run one more time. # Once you have created your user, set to "false" and run one more time.
# Target just Bitwarden by running: ansible-playbook -i inventory nas.yml -b -K -t bitwarden # Target just Bitwarden by running: ansible-playbook -i inventory nas.yml -b -K -t bitwarden
bitwarden_allow_signups: false bitwarden_allow_signups: false

View file

@ -1,3 +1,4 @@
---
- name: Create Bitwarden Directories - name: Create Bitwarden Directories
file: file:
path: "{{ item }}" path: "{{ item }}"
@ -28,7 +29,6 @@
traefik.hub.port: "bitwarden_port_b" traefik.hub.port: "bitwarden_port_b"
traefik.hub.protocol: "ws" traefik.hub.protocol: "ws"
restart_policy: unless-stopped restart_policy: unless-stopped
#memory: 1g
- name: Bitwarden Backup Container - name: Bitwarden Backup Container
docker_container: docker_container:

View file

@ -1,3 +1,4 @@
---
auth: auth:
scopedToken: "{{ cloudflare_token }}" scopedToken: "{{ cloudflare_token }}"
domains: domains:

View file

@ -13,4 +13,4 @@ couchpotato_user_id: "0"
couchpotato_group_id: "0" couchpotato_group_id: "0"
# network # network
couchpotato_port: "5050" couchpotato_port: "5050"

View file

@ -31,4 +31,4 @@
traefik.http.routers.couchpotato.tls.certresolver: "letsencrypt" traefik.http.routers.couchpotato.tls.certresolver: "letsencrypt"
traefik.http.routers.couchpotato.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.couchpotato.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.couchpotato.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.couchpotato.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.couchpotato.loadbalancer.server.port: "5050" traefik.http.services.couchpotato.loadbalancer.server.port: "5050"

View file

@ -18,4 +18,4 @@ deluge_log_level: "error"
deluge_port: "8112" deluge_port: "8112"
deluge_hostname: "deluge" deluge_hostname: "deluge"
deluge_timezone: "{{ ansible_nas_timezone }}" deluge_timezone: "{{ ansible_nas_timezone }}"

View file

@ -30,4 +30,4 @@
traefik.http.routers.deluge.tls.certresolver: "letsencrypt" traefik.http.routers.deluge.tls.certresolver: "letsencrypt"
traefik.http.routers.deluge.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.deluge.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.deluge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.deluge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.deluge.loadbalancer.server.port: "8112" traefik.http.services.deluge.loadbalancer.server.port: "8112"

View file

@ -20,4 +20,4 @@ emby_group_id: "0"
# network # network
emby_port_http: "8096" emby_port_http: "8096"
emby_port_https: "8920" emby_port_https: "8920"
emby_hostname: "emby" emby_hostname: "emby"

View file

@ -1,3 +1,4 @@
---
- name: Create Emby Directories - name: Create Emby Directories
file: file:
path: "{{ item }}" path: "{{ item }}"
@ -29,4 +30,4 @@
traefik.http.routers.emby.tls.certresolver: "letsencrypt" traefik.http.routers.emby.tls.certresolver: "letsencrypt"
traefik.http.routers.emby.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.emby.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.emby.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.emby.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.emby.loadbalancer.server.port: "8096" traefik.http.services.emby.loadbalancer.server.port: "8096"

View file

@ -1,3 +1,4 @@
---
- name: Create get_iplayer Directories - name: Create get_iplayer Directories
file: file:
path: "{{ item }}" path: "{{ item }}"
@ -18,4 +19,3 @@
- "{{ get_iplayer_port }}:8181" - "{{ get_iplayer_port }}:8181"
restart_policy: unless-stopped restart_policy: unless-stopped
memory: "{{ get_iplayer_memory }}" memory: "{{ get_iplayer_memory }}"

View file

@ -8,4 +8,4 @@ gitea_data_directory: "{{ docker_home }}/gitea"
# network # network
gitea_hostname: "gitea" gitea_hostname: "gitea"
gitea_port_http: "3001" gitea_port_http: "3001"
gitea_port_ssh: "222" gitea_port_ssh: "222"

View file

@ -47,7 +47,7 @@
image: gitea/gitea:1.6 image: gitea/gitea:1.6
pull: true pull: true
links: links:
- gitea-mysql:db - gitea-mysql:db
volumes: volumes:
- "{{ gitea_data_directory }}/gitea:/data:rw" - "{{ gitea_data_directory }}/gitea:/data:rw"
ports: ports:

View file

@ -13,4 +13,4 @@ heimdall_hostname: heimdall
# uid / gid # uid / gid
heimdall_user_id: "1310" heimdall_user_id: "1310"
heimdall_group_id: "1310" heimdall_group_id: "1310"

View file

@ -46,4 +46,4 @@
traefik.http.routers.heimdall.tls.certresolver: "letsencrypt" traefik.http.routers.heimdall.tls.certresolver: "letsencrypt"
traefik.http.routers.heimdall.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.heimdall.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.heimdall.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.heimdall.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.heimdall.loadbalancer.server.port: "80" traefik.http.services.heimdall.loadbalancer.server.port: "80"

View file

@ -7,4 +7,4 @@ homeassistant_data_directory: "{{ docker_home }}/homeassistant"
# network # network
homeassistant_port: "8123" homeassistant_port: "8123"
homeassistant_hostname: "homeassistant" homeassistant_hostname: "homeassistant"

View file

@ -1,3 +1,4 @@
---
- name: Create Home Assistant Directories - name: Create Home Assistant Directories
file: file:
path: "{{ item }}" path: "{{ item }}"

View file

@ -25,4 +25,4 @@
traefik.http.routers.jackett.tls.certresolver: "letsencrypt" 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].main: "{{ ansible_nas_domain }}"
traefik.http.routers.jackett.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.jackett.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.jackett.loadbalancer.server.port: "9117" traefik.http.services.jackett.loadbalancer.server.port: "9117"

View file

@ -13,4 +13,4 @@ lidarr_group_id: "0"
# network # network
lidarr_port: "8686" lidarr_port: "8686"
lidarr_hostname: "lidarr" lidarr_hostname: "lidarr"

View file

@ -14,4 +14,4 @@
MINIDLNA_PORT: "{{ minidlna_port }}" MINIDLNA_PORT: "{{ minidlna_port }}"
restart_policy: unless-stopped restart_policy: unless-stopped
network_mode: host network_mode: host
memory: "{{ minidlna_memory }}" memory: "{{ minidlna_memory }}"

View file

@ -25,7 +25,7 @@
image: miniflux/miniflux:latest image: miniflux/miniflux:latest
pull: true pull: true
links: links:
- miniflux-postgres:db - miniflux-postgres:db
ports: ports:
- "{{ miniflux_port }}:8080" - "{{ miniflux_port }}:8080"
env: env:

View file

@ -1,3 +1,4 @@
---
n8n_enabled: false n8n_enabled: false
# Networking # Networking

View file

@ -1,6 +1,7 @@
---
netdata_enabled: false netdata_enabled: false
netdata_available_externally: "false" netdata_available_externally: "false"
# network # network
netdata_hostname: "netdata" netdata_hostname: "netdata"
netdata_port: "19999" netdata_port: "19999"

View file

@ -31,4 +31,4 @@
traefik.http.routers.netdata.tls.certresolver: "letsencrypt" traefik.http.routers.netdata.tls.certresolver: "letsencrypt"
traefik.http.routers.netdata.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.netdata.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.netdata.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.netdata.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.netdata.loadbalancer.server.port: "19999" traefik.http.services.netdata.loadbalancer.server.port: "19999"

View file

@ -12,4 +12,4 @@ nextcloud_hostname: "nextcloud"
# username / passwords # username / passwords
nextcloud_sql_user: "nextcloud-user" nextcloud_sql_user: "nextcloud-user"
nextcloud_sql_password: "nextcloud-pass" nextcloud_sql_password: "nextcloud-pass"
nextcloud_sql_root_password: "nextcloud-secret" nextcloud_sql_root_password: "nextcloud-secret"

View file

@ -28,7 +28,7 @@
image: nextcloud:14 image: nextcloud:14
pull: true pull: true
links: links:
- nextcloud-mysql:mysql - nextcloud-mysql:mysql
volumes: volumes:
- "{{ nextcloud_data_directory }}/nextcloud:/var/www/html:rw" - "{{ nextcloud_data_directory }}/nextcloud:/var/www/html:rw"
ports: ports:
@ -48,4 +48,3 @@
traefik.http.routers.nextcloud.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.nextcloud.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.nextcloud.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.nextcloud.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.nextcloud.loadbalancer.server.port: "80" traefik.http.services.nextcloud.loadbalancer.server.port: "80"

View file

@ -28,4 +28,4 @@
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 }}"
traefik.http.services.nzbget.loadbalancer.server.port: "6789" traefik.http.services.nzbget.loadbalancer.server.port: "6789"

View file

@ -11,4 +11,4 @@ ombi_hostname: "ombi"
# uid / gid # uid / gid
ombi_user_id: "0" ombi_user_id: "0"
ombi_group_id: "0" ombi_group_id: "0"

View file

@ -1,4 +1,3 @@
--- ---
- name: Create Ombi Directories - name: Create Ombi Directories
file: file:

View file

@ -12,4 +12,4 @@ organizr_hostname: "organizr"
# uid / gid # uid / gid
organizr_user_id: "1000" organizr_user_id: "1000"
organizr_group_id: "1000" organizr_group_id: "1000"

View file

@ -33,7 +33,5 @@ plex_memory: "2g"
# plex_devices: # plex_devices:
# - "/dev/dri:/dev/dri" # - "/dev/dri:/dev/dri"
# see https://hub.docker.com/r/linuxserver/plex for details on this setting # see https://hub.docker.com/r/linuxserver/plex for details on this setting
plex_version: "docker" plex_version: "docker"

View file

@ -7,4 +7,4 @@ portainer_data_directory: "{{ docker_home }}/portainer/config"
# network # network
portainer_port: "9000" portainer_port: "9000"
portainer_hostname: "portainer" portainer_hostname: "portainer"

View file

@ -13,4 +13,4 @@ radarr_group_id: "0"
# network # network
radarr_port: "7878" radarr_port: "7878"
radarr_hostname: "radarr" radarr_hostname: "radarr"

View file

@ -29,4 +29,4 @@
traefik.http.routers.radarr.tls.certresolver: "letsencrypt" traefik.http.routers.radarr.tls.certresolver: "letsencrypt"
traefik.http.routers.radarr.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.radarr.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.radarr.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.radarr.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.radarr.loadbalancer.server.port: "7878" traefik.http.services.radarr.loadbalancer.server.port: "7878"

View file

@ -13,4 +13,4 @@ sickchill_group_id: "0"
# network # network
sickchill_port: "8081" sickchill_port: "8081"
sickchill_hostname: "sickchill" sickchill_hostname: "sickchill"

View file

@ -13,4 +13,4 @@ sonarr_group_id: "0"
# network # network
sonarr_port: "8989" sonarr_port: "8989"
sonarr_hostname: "sonarr" sonarr_hostname: "sonarr"

View file

@ -29,4 +29,4 @@
traefik.http.routers.sonarr.tls.certresolver: "letsencrypt" traefik.http.routers.sonarr.tls.certresolver: "letsencrypt"
traefik.http.routers.sonarr.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.sonarr.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.sonarr.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.sonarr.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.sonarr.loadbalancer.server.port: "8989" traefik.http.services.sonarr.loadbalancer.server.port: "8989"

View file

@ -14,4 +14,4 @@ syncthing_volumes:
# network # network
syncthing_port: 8384 syncthing_port: 8384
syncthing_hostname: syncthing syncthing_hostname: syncthing

View file

@ -20,4 +20,4 @@
traefik.http.routers.syncthing.tls.certresolver: "letsencrypt" traefik.http.routers.syncthing.tls.certresolver: "letsencrypt"
traefik.http.routers.syncthing.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.syncthing.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.syncthing.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.syncthing.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.syncthing.loadbalancer.server.port: "8384" traefik.http.services.syncthing.loadbalancer.server.port: "8384"

View file

@ -1,3 +1,4 @@
---
- name: Create Tautulli Directories - name: Create Tautulli Directories
file: file:
path: "{{ item }}" path: "{{ item }}"
@ -29,4 +30,4 @@
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 }}"
traefik.http.services.tautulli.loadbalancer.server.port: "8181" traefik.http.services.tautulli.loadbalancer.server.port: "8181"

View file

@ -28,4 +28,4 @@ transmission_openvpn_hostname: "transmission_openvpn"
openvpn_username: leisure-suit-larry openvpn_username: leisure-suit-larry
openvpn_password: secretpassword openvpn_password: secretpassword
openvpn_provider: AWESOMEVPNPROVIDER openvpn_provider: AWESOMEVPNPROVIDER
openvpn_config: United-Kingdom openvpn_config: United-Kingdom

View file

@ -16,4 +16,4 @@ transmission_webui_port: "9092"
transmission_external_port: "51414" transmission_external_port: "51414"
transmission_hostname: "transmission" transmission_hostname: "transmission"
transmission_timezone: "{{ ansible_nas_timezone }}" transmission_timezone: "{{ ansible_nas_timezone }}"

View file

@ -34,4 +34,4 @@
traefik.http.routers.transmission.tls.certresolver: "letsencrypt" traefik.http.routers.transmission.tls.certresolver: "letsencrypt"
traefik.http.routers.transmission.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.transmission.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.transmission.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.transmission.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.transmission.loadbalancer.server.port: "9091" traefik.http.services.transmission.loadbalancer.server.port: "9091"

View file

@ -14,4 +14,4 @@ utorrent_group_id: "0"
# network # network
utorrent_port_http: "8111" utorrent_port_http: "8111"
utorrent_port_bt: "6881" utorrent_port_bt: "6881"
utorrent_hostname: "utorrent" utorrent_hostname: "utorrent"

View file

@ -10,4 +10,4 @@
TZ: "{{ ansible_nas_timezone }}" TZ: "{{ ansible_nas_timezone }}"
command: "{{ watchtower_command }}" command: "{{ watchtower_command }}"
restart_policy: unless-stopped restart_policy: unless-stopped
memory: 1g memory: 1g

View file

@ -1,3 +1,4 @@
---
- name: Create Calibre-web Directories - name: Create Calibre-web Directories
file: file:
path: "{{ item }}" path: "{{ item }}"

View file

@ -1,3 +1,4 @@
---
- name: Glances Docker Container - name: Glances Docker Container
docker_container: docker_container:
name: glances name: glances
@ -7,7 +8,6 @@
- "{{ glances_port_one }}:61208" - "{{ glances_port_one }}:61208"
- "{{ glances_port_two }}:61209" - "{{ glances_port_two }}:61209"
volumes: volumes:
#- "/glances.conf:/glances/conf/glances.conf"
- "/var/run/docker.sock:/var/run/docker.sock:ro" - "/var/run/docker.sock:/var/run/docker.sock:ro"
- "/etc/timezone:/etc/timezone:ro" - "/etc/timezone:/etc/timezone:ro"
pid_mode: host pid_mode: host
@ -21,4 +21,4 @@
traefik.http.routers.glances.tls.certresolver: "letsencrypt" traefik.http.routers.glances.tls.certresolver: "letsencrypt"
traefik.http.routers.glances.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.glances.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.glances.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.glances.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.glances.loadbalancer.server.port: "61208" traefik.http.services.glances.loadbalancer.server.port: "61208"

View file

@ -51,4 +51,4 @@
docker_container: docker_container:
name: guacamole name: guacamole
image: "oznu/guacamole" image: "oznu/guacamole"
restart: true restart: true

View file

@ -1,3 +1,4 @@
---
- name: Create Jellyfin Directories - name: Create Jellyfin Directories
file: file:
path: "{{ item }}" path: "{{ item }}"

View file

@ -44,4 +44,4 @@
traefik.http.routers.joomla.tls.certresolver: "letsencrypt" traefik.http.routers.joomla.tls.certresolver: "letsencrypt"
traefik.http.routers.joomla.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.joomla.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.joomla.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.joomla.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.joomla.loadbalancer.server.port: "80" traefik.http.services.joomla.loadbalancer.server.port: "80"

View file

@ -1,4 +1,3 @@
--- ---
- name: Krusader Directory - name: Krusader Directory
file: file:

View file

@ -1,3 +1,4 @@
---
- name: Create Mosquitto Directories - name: Create Mosquitto Directories
file: file:
path: "{{ item }}" path: "{{ item }}"

View file

@ -114,4 +114,4 @@
traefik.http.routers.grafana.tls.certresolver: "letsencrypt" traefik.http.routers.grafana.tls.certresolver: "letsencrypt"
traefik.http.routers.grafana.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.grafana.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.grafana.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.grafana.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.grafana.netdata.loadbalancer.server.port: "3000" traefik.http.grafana.netdata.loadbalancer.server.port: "3000"

View file

@ -33,4 +33,3 @@
traefik.http.routers.thelounge.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.thelounge.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.thelounge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.thelounge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.thelounge.loadbalancer.server.port: "9000" traefik.http.services.thelounge.loadbalancer.server.port: "9000"

View file

@ -1,3 +1,4 @@
---
- name: Create Wallabag Directories - name: Create Wallabag Directories
file: file:
path: "{{ item }}" path: "{{ item }}"
@ -26,4 +27,4 @@
traefik.http.routers.wallabag.tls.certresolver: "letsencrypt" traefik.http.routers.wallabag.tls.certresolver: "letsencrypt"
traefik.http.routers.wallabag.tls.domains[0].main: "{{ ansible_nas_domain }}" traefik.http.routers.wallabag.tls.domains[0].main: "{{ ansible_nas_domain }}"
traefik.http.routers.wallabag.tls.domains[0].sans: "*.{{ ansible_nas_domain }}" traefik.http.routers.wallabag.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
traefik.http.services.wallabag.loadbalancer.server.port: "80" traefik.http.services.wallabag.loadbalancer.server.port: "80"

View file

@ -1,4 +1,3 @@
--- ---
- name: YouTubeDL-Material Directory - name: YouTubeDL-Material Directory
file: file:

View file

@ -1,43 +1,25 @@
# config file version ---
apiVersion: 1 apiVersion: 1
# list of datasources to insert/update depending
# whats available in the database
datasources: datasources:
# <string, required> name of the datasource. Required - name: InfluxDB
- name: InfluxDB type: influxdb
# <string, required> datasource type. Required access: proxy
type: influxdb orgId: 1
# <string, required> access mode. direct or proxy. Required url: http://{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}:8086
access: proxy password:
# <int> org id. will default to orgId 1 if not specified user:
orgId: 1 database: telegraf
# <string> url basicAuth:
url: http://{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}:8086 basicAuthUser:
# <string> database password, if used basicAuthPassword:
password: withCredentials:
# <string> database user, if used isDefault: true
user: jsonData:
# <string> database name, if used timeInterval: "15s"
database: telegraf secureJsonData:
# <bool> enable/disable basic auth tlsCACert: "..."
basicAuth: tlsClientCert: "..."
# <string> basic auth username tlsClientKey: "..."
basicAuthUser: version: 1
# <string> basic auth password editable: false
basicAuthPassword:
# <bool> enable/disable with credentials headers
withCredentials:
# <bool> mark as default datasource. Max one per org
isDefault: true
# <map> fields that will be converted to json and stored in json_data
jsonData:
timeInterval: "15s"
# <string> json object of data that will be encrypted.
secureJsonData:
tlsCACert: "..."
tlsClientCert: "..."
tlsClientKey: "..."
version: 1
# <bool> allow users to edit datasources from the UI.
editable: false

View file

@ -23,7 +23,7 @@ neutral='\033[0m'
timestamp=$(date +%s) timestamp=$(date +%s)
# Allow environment variables to override defaults. # Allow environment variables to override defaults.
distro=${distro:-"ubuntu1804"} distro=${distro:-"ubuntu2004"}
docker_owner=${docker_owner:-"geerlingguy"} docker_owner=${docker_owner:-"geerlingguy"}
playbook=${playbook:-"nas.yml"} playbook=${playbook:-"nas.yml"}
cleanup=${cleanup:-"true"} cleanup=${cleanup:-"true"}