mirror of
https://github.com/davestephens/ansible-nas
synced 2024-12-24 02:23:06 +00:00
Yamllint FTW
This commit is contained in:
parent
a2976d73e6
commit
c8e887207d
76 changed files with 178 additions and 186 deletions
1
.github/FUNDING.yml
vendored
1
.github/FUNDING.yml
vendored
|
@ -1 +1,2 @@
|
|||
---
|
||||
ko_fi: davestephens
|
||||
|
|
9
.github/workflows/ci.yml
vendored
9
.github/workflows/ci.yml
vendored
|
@ -1,5 +1,4 @@
|
|||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
---
|
||||
name: CI
|
||||
|
||||
# Controls when the action will run.
|
||||
|
@ -30,5 +29,7 @@ jobs:
|
|||
- name: Install test dependencies
|
||||
run: pip3 install yamllint ansible-lint==4.3.7
|
||||
|
||||
- name: Ansible lint
|
||||
run: ansible-lint ./nas.yml -x 106,208
|
||||
- name: Linting
|
||||
run: |
|
||||
ansible-lint ./nas.yml -x 106,208
|
||||
yamllint .
|
||||
|
|
6
.github/workflows/integration.yml
vendored
6
.github/workflows/integration.yml
vendored
|
@ -1,14 +1,12 @@
|
|||
# This is a basic workflow to help you get started with Actions
|
||||
|
||||
---
|
||||
name: Integration
|
||||
|
||||
# Controls when the action will run.
|
||||
# Controls when the action will run.
|
||||
on:
|
||||
# Allows you to run this workflow manually from the Actions tab
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
|
||||
test:
|
||||
name: Test
|
||||
runs-on: ubuntu-20.04
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -4,6 +4,7 @@ site
|
|||
*.retry
|
||||
*.log
|
||||
inventories
|
||||
.cache
|
||||
|
||||
# Vim
|
||||
[._]sw[a-p]
|
||||
|
|
16
.yamllint
Normal file
16
.yamllint
Normal 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
|
|
@ -1,24 +1,15 @@
|
|||
---
|
||||
apiVersion: 1
|
||||
|
||||
providers:
|
||||
# <string> an unique provider name
|
||||
- name: 'Ansible-NAS Dashboards'
|
||||
# <int> org id. will default to orgId 1 if not specified
|
||||
orgId: 1
|
||||
# <string, required> name of the dashboard folder. Required
|
||||
folder: 'Ansible-NAS'
|
||||
# <string> folder UID. will be automatically generated if not specified
|
||||
folderUid: ''
|
||||
# <string, required> provider type. Required
|
||||
type: file
|
||||
# <bool> disable dashboard deletion
|
||||
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
|
||||
- name: 'Ansible-NAS Dashboards'
|
||||
orgId: 1
|
||||
folder: 'Ansible-NAS'
|
||||
folderUid: ''
|
||||
type: file
|
||||
disableDeletion: false
|
||||
editable: true
|
||||
updateIntervalSeconds: 60
|
||||
allowUiUpdates: false
|
||||
options:
|
||||
path: /var/lib/grafana/dashboards/ansible-nas
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
## ._____. .__
|
||||
## _____ ____ _____|__\_ |__ | | ____ ____ _____ ______
|
||||
## \__ \ / \ / ___/ || __ \| | _/ __ \ ______ / \\__ \ / ___/
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
## ._____. .__
|
||||
## _____ ____ _____|__\_ |__ | | ____ ____ _____ ______
|
||||
## \__ \ / \ / ___/ || __ \| | _/ __ \ ______ / \\__ \ / ___/
|
||||
|
@ -15,4 +16,3 @@ ansible_nas_timezone: Etc/UTC
|
|||
## Enable some applications
|
||||
heimdall_enabled: true
|
||||
portainer_enabled: true
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
# Project information
|
||||
site_name: 'Ansible-NAS'
|
||||
site_description: 'Build a fully functional NAS with an Ubuntu box and this playbook'
|
||||
|
@ -28,4 +29,4 @@ extra:
|
|||
manifest: 'manifest.webmanifest'
|
||||
social:
|
||||
- icon: 'fontawesome/brands/github-alt'
|
||||
link: 'https://github.com/davestephens'
|
||||
link: 'https://github.com/davestephens'
|
||||
|
|
102
nas.yml
102
nas.yml
|
@ -254,70 +254,70 @@
|
|||
when: (znc_enabled | default(False))
|
||||
|
||||
tasks:
|
||||
- import_tasks: tasks/thelounge.yml
|
||||
when: (thelounge_enabled | default(False))
|
||||
tags: thelounge
|
||||
- import_tasks: tasks/thelounge.yml
|
||||
when: (thelounge_enabled | default(False))
|
||||
tags: thelounge
|
||||
|
||||
- import_tasks: tasks/glances.yml
|
||||
when: (glances_enabled | default(False))
|
||||
tags: glances
|
||||
- import_tasks: tasks/glances.yml
|
||||
when: (glances_enabled | default(False))
|
||||
tags: glances
|
||||
|
||||
- import_tasks: tasks/gitlab.yml
|
||||
when: (gitlab_enabled | default(False))
|
||||
tags: gitlab
|
||||
- import_tasks: tasks/gitlab.yml
|
||||
when: (gitlab_enabled | default(False))
|
||||
tags: gitlab
|
||||
|
||||
- import_tasks: tasks/timemachine.yml
|
||||
when: (timemachine_enabled | default(False))
|
||||
tags: timemachine
|
||||
- import_tasks: tasks/timemachine.yml
|
||||
when: (timemachine_enabled | default(False))
|
||||
tags: timemachine
|
||||
|
||||
- import_tasks: tasks/stats.yml
|
||||
when: (stats_enabled | default(False))
|
||||
tags: stats
|
||||
- import_tasks: tasks/stats.yml
|
||||
when: (stats_enabled | default(False))
|
||||
tags: stats
|
||||
|
||||
- import_tasks: tasks/guacamole.yml
|
||||
when: (guacamole_enabled | default(False))
|
||||
tags: guacamole
|
||||
- import_tasks: tasks/guacamole.yml
|
||||
when: (guacamole_enabled | default(False))
|
||||
tags: guacamole
|
||||
|
||||
- import_tasks: tasks/joomla.yml
|
||||
when: (joomla_enabled | default(False))
|
||||
tags: joomla
|
||||
- import_tasks: tasks/joomla.yml
|
||||
when: (joomla_enabled | default(False))
|
||||
tags: joomla
|
||||
|
||||
- import_tasks: tasks/wallabag.yml
|
||||
when: (wallabag_enabled | default(False))
|
||||
tags: wallabag
|
||||
- import_tasks: tasks/wallabag.yml
|
||||
when: (wallabag_enabled | default(False))
|
||||
tags: wallabag
|
||||
|
||||
- import_tasks: tasks/mosquitto.yml
|
||||
when: (mosquitto_enabled | default(False))
|
||||
tags: mosquitto
|
||||
- import_tasks: tasks/mosquitto.yml
|
||||
when: (mosquitto_enabled | default(False))
|
||||
tags: mosquitto
|
||||
|
||||
- import_tasks: tasks/calibre.yml
|
||||
when: (calibre_enabled | default(False))
|
||||
tags: calibre
|
||||
- import_tasks: tasks/calibre.yml
|
||||
when: (calibre_enabled | default(False))
|
||||
tags: calibre
|
||||
|
||||
- import_tasks: tasks/openhab.yml
|
||||
when: (openhab_enabled | default(False))
|
||||
tags: openhab
|
||||
- import_tasks: tasks/openhab.yml
|
||||
when: (openhab_enabled | default(False))
|
||||
tags: openhab
|
||||
|
||||
- import_tasks: tasks/jellyfin.yml
|
||||
when: (jellyfin_enabled | default(False))
|
||||
tags: jellyfin
|
||||
- import_tasks: tasks/jellyfin.yml
|
||||
when: (jellyfin_enabled | default(False))
|
||||
tags: jellyfin
|
||||
|
||||
- import_tasks: tasks/krusader.yml
|
||||
when: (krusader_enabled | default(False))
|
||||
tags: krusader
|
||||
- import_tasks: tasks/krusader.yml
|
||||
when: (krusader_enabled | default(False))
|
||||
tags: krusader
|
||||
|
||||
- import_tasks: tasks/ubooquity.yml
|
||||
when: (ubooquity_enabled | default(False))
|
||||
tags: ubooquity
|
||||
- import_tasks: tasks/ubooquity.yml
|
||||
when: (ubooquity_enabled | default(False))
|
||||
tags: ubooquity
|
||||
|
||||
- import_tasks: tasks/youtubedlmaterial.yml
|
||||
when: (youtubedlmaterial_enabled | default(False))
|
||||
tags: youtubedlmaterial
|
||||
- import_tasks: tasks/youtubedlmaterial.yml
|
||||
when: (youtubedlmaterial_enabled | default(False))
|
||||
tags: youtubedlmaterial
|
||||
|
||||
- import_tasks: tasks/virtual_desktop.yml
|
||||
when: (virtual_desktop_enabled | default(False))
|
||||
tags: virtual_desktop
|
||||
- import_tasks: tasks/virtual_desktop.yml
|
||||
when: (virtual_desktop_enabled | default(False))
|
||||
tags: virtual_desktop
|
||||
|
||||
- import_tasks: tasks/pytivo.yml
|
||||
when: (pytivo_enabled | default(False))
|
||||
tags: pytivo
|
||||
- import_tasks: tasks/pytivo.yml
|
||||
when: (pytivo_enabled | default(False))
|
||||
tags: pytivo
|
||||
|
|
|
@ -17,5 +17,3 @@
|
|||
mode: "u=rwX,g=rwX,o=rX"
|
||||
recurse: true
|
||||
loop: "{{ samba_shares }}"
|
||||
|
||||
|
||||
|
|
|
@ -9,4 +9,4 @@ airsonic_podcasts_directory: "{{ podcasts_root }}"
|
|||
|
||||
# network
|
||||
airsonic_port: "4040"
|
||||
airsonic_hostname: "airsonic"
|
||||
airsonic_hostname: "airsonic"
|
||||
|
|
|
@ -29,4 +29,3 @@
|
|||
traefik.http.routers.airsonic.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||
traefik.http.routers.airsonic.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.airsonic.loadbalancer.server.port: "4040"
|
||||
|
||||
|
|
|
@ -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
|
||||
# You might want to change this to ZFS, depending on your underlying filesystem.
|
||||
docker_storage_driver: overlay2
|
||||
docker_storage_driver: overlay2
|
||||
|
|
|
@ -40,8 +40,8 @@
|
|||
|
||||
- name: Restart Docker
|
||||
service:
|
||||
name: docker
|
||||
state: restarted
|
||||
name: docker
|
||||
state: restarted
|
||||
when: docker_config.changed
|
||||
tags:
|
||||
- skip_ansible_lint
|
||||
|
|
|
@ -17,4 +17,4 @@ ansible_nas_extra_packages:
|
|||
|
||||
# Sets the timezone for your Ansible NAS
|
||||
# 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
|
||||
|
|
|
@ -52,4 +52,4 @@
|
|||
group: ansible-nas
|
||||
mode: "u=rwX,g=rwX,o=rX"
|
||||
recurse: false
|
||||
loop: "{{ samba_shares }}"
|
||||
loop: "{{ samba_shares }}"
|
||||
|
|
|
@ -13,4 +13,4 @@ bazarr_group_id: "0"
|
|||
|
||||
# network
|
||||
bazarr_port: "6767"
|
||||
bazarr_hostname: "bazarr"
|
||||
bazarr_hostname: "bazarr"
|
||||
|
|
|
@ -29,4 +29,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.bazarr.loadbalancer.server.port: "6767"
|
||||
traefik.http.services.bazarr.loadbalancer.server.port: "6767"
|
||||
|
|
|
@ -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.
|
||||
# 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
|
||||
bitwarden_allow_signups: false
|
||||
bitwarden_allow_signups: false
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Bitwarden Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
@ -28,7 +29,6 @@
|
|||
traefik.hub.port: "bitwarden_port_b"
|
||||
traefik.hub.protocol: "ws"
|
||||
restart_policy: unless-stopped
|
||||
#memory: 1g
|
||||
|
||||
- name: Bitwarden Backup Container
|
||||
docker_container:
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
auth:
|
||||
scopedToken: "{{ cloudflare_token }}"
|
||||
domains:
|
||||
|
|
|
@ -13,4 +13,4 @@ couchpotato_user_id: "0"
|
|||
couchpotato_group_id: "0"
|
||||
|
||||
# network
|
||||
couchpotato_port: "5050"
|
||||
couchpotato_port: "5050"
|
||||
|
|
|
@ -31,4 +31,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.couchpotato.loadbalancer.server.port: "5050"
|
||||
traefik.http.services.couchpotato.loadbalancer.server.port: "5050"
|
||||
|
|
|
@ -18,4 +18,4 @@ deluge_log_level: "error"
|
|||
deluge_port: "8112"
|
||||
deluge_hostname: "deluge"
|
||||
|
||||
deluge_timezone: "{{ ansible_nas_timezone }}"
|
||||
deluge_timezone: "{{ ansible_nas_timezone }}"
|
||||
|
|
|
@ -30,4 +30,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.deluge.loadbalancer.server.port: "8112"
|
||||
traefik.http.services.deluge.loadbalancer.server.port: "8112"
|
||||
|
|
|
@ -20,4 +20,4 @@ emby_group_id: "0"
|
|||
# network
|
||||
emby_port_http: "8096"
|
||||
emby_port_https: "8920"
|
||||
emby_hostname: "emby"
|
||||
emby_hostname: "emby"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Emby Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
@ -29,4 +30,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.emby.loadbalancer.server.port: "8096"
|
||||
traefik.http.services.emby.loadbalancer.server.port: "8096"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create get_iplayer Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
@ -18,4 +19,3 @@
|
|||
- "{{ get_iplayer_port }}:8181"
|
||||
restart_policy: unless-stopped
|
||||
memory: "{{ get_iplayer_memory }}"
|
||||
|
||||
|
|
|
@ -8,4 +8,4 @@ gitea_data_directory: "{{ docker_home }}/gitea"
|
|||
# network
|
||||
gitea_hostname: "gitea"
|
||||
gitea_port_http: "3001"
|
||||
gitea_port_ssh: "222"
|
||||
gitea_port_ssh: "222"
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
image: gitea/gitea:1.6
|
||||
pull: true
|
||||
links:
|
||||
- gitea-mysql:db
|
||||
- gitea-mysql:db
|
||||
volumes:
|
||||
- "{{ gitea_data_directory }}/gitea:/data:rw"
|
||||
ports:
|
||||
|
|
|
@ -13,4 +13,4 @@ heimdall_hostname: heimdall
|
|||
|
||||
# uid / gid
|
||||
heimdall_user_id: "1310"
|
||||
heimdall_group_id: "1310"
|
||||
heimdall_group_id: "1310"
|
||||
|
|
|
@ -46,4 +46,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.heimdall.loadbalancer.server.port: "80"
|
||||
traefik.http.services.heimdall.loadbalancer.server.port: "80"
|
||||
|
|
|
@ -7,4 +7,4 @@ homeassistant_data_directory: "{{ docker_home }}/homeassistant"
|
|||
|
||||
# network
|
||||
homeassistant_port: "8123"
|
||||
homeassistant_hostname: "homeassistant"
|
||||
homeassistant_hostname: "homeassistant"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Home Assistant Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
|
|
@ -25,4 +25,4 @@
|
|||
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 }}"
|
||||
traefik.http.services.jackett.loadbalancer.server.port: "9117"
|
||||
traefik.http.services.jackett.loadbalancer.server.port: "9117"
|
||||
|
|
|
@ -13,4 +13,4 @@ lidarr_group_id: "0"
|
|||
|
||||
# network
|
||||
lidarr_port: "8686"
|
||||
lidarr_hostname: "lidarr"
|
||||
lidarr_hostname: "lidarr"
|
||||
|
|
|
@ -14,4 +14,4 @@
|
|||
MINIDLNA_PORT: "{{ minidlna_port }}"
|
||||
restart_policy: unless-stopped
|
||||
network_mode: host
|
||||
memory: "{{ minidlna_memory }}"
|
||||
memory: "{{ minidlna_memory }}"
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
image: miniflux/miniflux:latest
|
||||
pull: true
|
||||
links:
|
||||
- miniflux-postgres:db
|
||||
- miniflux-postgres:db
|
||||
ports:
|
||||
- "{{ miniflux_port }}:8080"
|
||||
env:
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
n8n_enabled: false
|
||||
|
||||
# Networking
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
---
|
||||
netdata_enabled: false
|
||||
netdata_available_externally: "false"
|
||||
|
||||
# network
|
||||
netdata_hostname: "netdata"
|
||||
netdata_port: "19999"
|
||||
netdata_port: "19999"
|
||||
|
|
|
@ -31,4 +31,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.netdata.loadbalancer.server.port: "19999"
|
||||
traefik.http.services.netdata.loadbalancer.server.port: "19999"
|
||||
|
|
|
@ -12,4 +12,4 @@ nextcloud_hostname: "nextcloud"
|
|||
# username / passwords
|
||||
nextcloud_sql_user: "nextcloud-user"
|
||||
nextcloud_sql_password: "nextcloud-pass"
|
||||
nextcloud_sql_root_password: "nextcloud-secret"
|
||||
nextcloud_sql_root_password: "nextcloud-secret"
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
image: nextcloud:14
|
||||
pull: true
|
||||
links:
|
||||
- nextcloud-mysql:mysql
|
||||
- nextcloud-mysql:mysql
|
||||
volumes:
|
||||
- "{{ nextcloud_data_directory }}/nextcloud:/var/www/html:rw"
|
||||
ports:
|
||||
|
@ -48,4 +48,3 @@
|
|||
traefik.http.routers.nextcloud.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||
traefik.http.routers.nextcloud.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.nextcloud.loadbalancer.server.port: "80"
|
||||
|
||||
|
|
|
@ -28,4 +28,4 @@
|
|||
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 }}"
|
||||
traefik.http.services.nzbget.loadbalancer.server.port: "6789"
|
||||
traefik.http.services.nzbget.loadbalancer.server.port: "6789"
|
||||
|
|
|
@ -11,4 +11,4 @@ ombi_hostname: "ombi"
|
|||
|
||||
# uid / gid
|
||||
ombi_user_id: "0"
|
||||
ombi_group_id: "0"
|
||||
ombi_group_id: "0"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
---
|
||||
- name: Create Ombi Directories
|
||||
file:
|
||||
|
|
|
@ -12,4 +12,4 @@ organizr_hostname: "organizr"
|
|||
|
||||
# uid / gid
|
||||
organizr_user_id: "1000"
|
||||
organizr_group_id: "1000"
|
||||
organizr_group_id: "1000"
|
||||
|
|
|
@ -33,7 +33,5 @@ plex_memory: "2g"
|
|||
# plex_devices:
|
||||
# - "/dev/dri:/dev/dri"
|
||||
|
||||
|
||||
# see https://hub.docker.com/r/linuxserver/plex for details on this setting
|
||||
plex_version: "docker"
|
||||
|
||||
|
|
|
@ -7,4 +7,4 @@ portainer_data_directory: "{{ docker_home }}/portainer/config"
|
|||
|
||||
# network
|
||||
portainer_port: "9000"
|
||||
portainer_hostname: "portainer"
|
||||
portainer_hostname: "portainer"
|
||||
|
|
|
@ -13,4 +13,4 @@ radarr_group_id: "0"
|
|||
|
||||
# network
|
||||
radarr_port: "7878"
|
||||
radarr_hostname: "radarr"
|
||||
radarr_hostname: "radarr"
|
||||
|
|
|
@ -29,4 +29,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
||||
traefik.http.services.radarr.loadbalancer.server.port: "7878"
|
||||
|
|
|
@ -13,4 +13,4 @@ sickchill_group_id: "0"
|
|||
|
||||
# network
|
||||
sickchill_port: "8081"
|
||||
sickchill_hostname: "sickchill"
|
||||
sickchill_hostname: "sickchill"
|
||||
|
|
|
@ -13,4 +13,4 @@ sonarr_group_id: "0"
|
|||
|
||||
# network
|
||||
sonarr_port: "8989"
|
||||
sonarr_hostname: "sonarr"
|
||||
sonarr_hostname: "sonarr"
|
||||
|
|
|
@ -29,4 +29,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
||||
traefik.http.services.sonarr.loadbalancer.server.port: "8989"
|
||||
|
|
|
@ -14,4 +14,4 @@ syncthing_volumes:
|
|||
|
||||
# network
|
||||
syncthing_port: 8384
|
||||
syncthing_hostname: syncthing
|
||||
syncthing_hostname: syncthing
|
||||
|
|
|
@ -20,4 +20,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.syncthing.loadbalancer.server.port: "8384"
|
||||
traefik.http.services.syncthing.loadbalancer.server.port: "8384"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Tautulli Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
@ -29,4 +30,4 @@
|
|||
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 }}"
|
||||
traefik.http.services.tautulli.loadbalancer.server.port: "8181"
|
||||
traefik.http.services.tautulli.loadbalancer.server.port: "8181"
|
||||
|
|
|
@ -28,4 +28,4 @@ transmission_openvpn_hostname: "transmission_openvpn"
|
|||
openvpn_username: leisure-suit-larry
|
||||
openvpn_password: secretpassword
|
||||
openvpn_provider: AWESOMEVPNPROVIDER
|
||||
openvpn_config: United-Kingdom
|
||||
openvpn_config: United-Kingdom
|
||||
|
|
|
@ -16,4 +16,4 @@ transmission_webui_port: "9092"
|
|||
transmission_external_port: "51414"
|
||||
transmission_hostname: "transmission"
|
||||
|
||||
transmission_timezone: "{{ ansible_nas_timezone }}"
|
||||
transmission_timezone: "{{ ansible_nas_timezone }}"
|
||||
|
|
|
@ -34,4 +34,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.transmission.loadbalancer.server.port: "9091"
|
||||
traefik.http.services.transmission.loadbalancer.server.port: "9091"
|
||||
|
|
|
@ -14,4 +14,4 @@ utorrent_group_id: "0"
|
|||
# network
|
||||
utorrent_port_http: "8111"
|
||||
utorrent_port_bt: "6881"
|
||||
utorrent_hostname: "utorrent"
|
||||
utorrent_hostname: "utorrent"
|
||||
|
|
|
@ -10,4 +10,4 @@
|
|||
TZ: "{{ ansible_nas_timezone }}"
|
||||
command: "{{ watchtower_command }}"
|
||||
restart_policy: unless-stopped
|
||||
memory: 1g
|
||||
memory: 1g
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Calibre-web Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Glances Docker Container
|
||||
docker_container:
|
||||
name: glances
|
||||
|
@ -7,7 +8,6 @@
|
|||
- "{{ glances_port_one }}:61208"
|
||||
- "{{ glances_port_two }}:61209"
|
||||
volumes:
|
||||
#- "/glances.conf:/glances/conf/glances.conf"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
||||
- "/etc/timezone:/etc/timezone:ro"
|
||||
pid_mode: host
|
||||
|
@ -21,4 +21,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.glances.loadbalancer.server.port: "61208"
|
||||
traefik.http.services.glances.loadbalancer.server.port: "61208"
|
||||
|
|
|
@ -51,4 +51,4 @@
|
|||
docker_container:
|
||||
name: guacamole
|
||||
image: "oznu/guacamole"
|
||||
restart: true
|
||||
restart: true
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Jellyfin Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
|
|
@ -44,4 +44,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.joomla.loadbalancer.server.port: "80"
|
||||
traefik.http.services.joomla.loadbalancer.server.port: "80"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
---
|
||||
- name: Krusader Directory
|
||||
file:
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Mosquitto Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
|
|
@ -114,4 +114,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.grafana.netdata.loadbalancer.server.port: "3000"
|
||||
traefik.http.grafana.netdata.loadbalancer.server.port: "3000"
|
||||
|
|
|
@ -33,4 +33,3 @@
|
|||
traefik.http.routers.thelounge.tls.domains[0].main: "{{ ansible_nas_domain }}"
|
||||
traefik.http.routers.thelounge.tls.domains[0].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.thelounge.loadbalancer.server.port: "9000"
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
---
|
||||
- name: Create Wallabag Directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
|
@ -26,4 +27,4 @@
|
|||
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].sans: "*.{{ ansible_nas_domain }}"
|
||||
traefik.http.services.wallabag.loadbalancer.server.port: "80"
|
||||
traefik.http.services.wallabag.loadbalancer.server.port: "80"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
---
|
||||
- name: YouTubeDL-Material Directory
|
||||
file:
|
||||
|
|
|
@ -1,43 +1,25 @@
|
|||
# config file version
|
||||
---
|
||||
apiVersion: 1
|
||||
|
||||
# list of datasources to insert/update depending
|
||||
# whats available in the database
|
||||
datasources:
|
||||
# <string, required> name of the datasource. Required
|
||||
- name: InfluxDB
|
||||
# <string, required> datasource type. Required
|
||||
type: influxdb
|
||||
# <string, required> access mode. direct or proxy. Required
|
||||
access: proxy
|
||||
# <int> org id. will default to orgId 1 if not specified
|
||||
orgId: 1
|
||||
# <string> url
|
||||
url: http://{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}:8086
|
||||
# <string> database password, if used
|
||||
password:
|
||||
# <string> database user, if used
|
||||
user:
|
||||
# <string> database name, if used
|
||||
database: telegraf
|
||||
# <bool> enable/disable basic auth
|
||||
basicAuth:
|
||||
# <string> basic auth username
|
||||
basicAuthUser:
|
||||
# <string> basic auth password
|
||||
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
|
||||
- name: InfluxDB
|
||||
type: influxdb
|
||||
access: proxy
|
||||
orgId: 1
|
||||
url: http://{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}:8086
|
||||
password:
|
||||
user:
|
||||
database: telegraf
|
||||
basicAuth:
|
||||
basicAuthUser:
|
||||
basicAuthPassword:
|
||||
withCredentials:
|
||||
isDefault: true
|
||||
jsonData:
|
||||
timeInterval: "15s"
|
||||
secureJsonData:
|
||||
tlsCACert: "..."
|
||||
tlsClientCert: "..."
|
||||
tlsClientKey: "..."
|
||||
version: 1
|
||||
editable: false
|
||||
|
|
|
@ -23,7 +23,7 @@ neutral='\033[0m'
|
|||
timestamp=$(date +%s)
|
||||
|
||||
# Allow environment variables to override defaults.
|
||||
distro=${distro:-"ubuntu1804"}
|
||||
distro=${distro:-"ubuntu2004"}
|
||||
docker_owner=${docker_owner:-"geerlingguy"}
|
||||
playbook=${playbook:-"nas.yml"}
|
||||
cleanup=${cleanup:-"true"}
|
||||
|
|
Loading…
Reference in a new issue