nas-services.yml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. ---
  2. - hosts: nas
  3. gather_facts: true
  4. become: true
  5. roles:
  6. - docker
  7. - cloud-backups
  8. - statusservices
  9. - linux-system-roles.metrics
  10. - linux-system-roles.firewall
  11. vars_files:
  12. - "{{ inventory_dir }}/vars/vault.yaml"
  13. vars:
  14. status_services_extra:
  15. - grafana-server
  16. - smb
  17. backups: containers
  18. backups_ignore:
  19. - /mergerfs
  20. - /run/udev
  21. container_user: "{{ vaulted_media_user }}"
  22. container_uid: "{{ vaulted_media_uid }}"
  23. container_group: "{{ vaulted_media_group }}"
  24. container_gid: "{{ vaulted_media_gid }}"
  25. global_env_vars:
  26. - PUID={{ container_uid }}
  27. - PGID={{ container_gid }}
  28. container_networks:
  29. - name: downloaders
  30. driver: bridge
  31. subnet: 172.21.10.0/24
  32. ip_range: 172.21.10.0/24
  33. gateway: 172.21.10.1
  34. containers:
  35. - name: heimdall
  36. active: true
  37. image: linuxserver/heimdall
  38. ports:
  39. - 80:80
  40. volumes:
  41. - /opt/heimdall:/config
  42. include_global_env_vars: true
  43. restart: unless-stopped
  44. - name: sickchill
  45. active: true
  46. image: linuxserver/sickchill
  47. ports:
  48. - 8081:8081
  49. volumes:
  50. - /opt/sickchill:/config
  51. - /mergerfs:/mergerfs
  52. include_global_env_vars: true
  53. restart: unless-stopped
  54. networks:
  55. - downloaders
  56. - name: transmission
  57. active: true
  58. image: linuxserver/transmission
  59. ports:
  60. - 9091:9091
  61. volumes:
  62. - /opt/transmission:/config
  63. - /mergerfs:/mergerfs
  64. include_global_env_vars: true
  65. environment:
  66. - USER={{ vaulted_nas_transmission_username }}
  67. - PASS={{ vaulted_nas_transmission_password }}
  68. restart: unless-stopped
  69. networks:
  70. - downloaders
  71. - name: qbittorrent
  72. active: true
  73. image: linuxserver/qbittorrent
  74. ports:
  75. - 8080:8080
  76. volumes:
  77. - /opt/qbittorrent:/config
  78. - /mergerfs:/mergerfs
  79. include_global_env_vars: true
  80. environment:
  81. - WEBUI_PORT=8080
  82. restart: unless-stopped
  83. networks:
  84. - downloaders
  85. - name: scrutiny
  86. active: true
  87. image: ghcr.io/analogj/scrutiny:master-omnibus
  88. ports:
  89. - 8088:8080
  90. - 8086:8086
  91. volumes:
  92. - /opt/scrutiny/config:/opt/scrutiny/config
  93. - /opt/scrutiny/influxdb2:/opt/scrutiny/influxdb
  94. - /run/udev:/run/udev:ro
  95. cap_add:
  96. - SYS_RAWIO
  97. - SYS_ADMIN # https://github.com/AnalogJ/scrutiny/issues/26#issuecomment-696817130
  98. devices:
  99. - /dev/sda
  100. - /dev/sdb
  101. - /dev/sdc
  102. - /dev/sdd
  103. - /dev/sde
  104. - /dev/sdf
  105. - /dev/sdg
  106. - name: watchyourlan
  107. active: true
  108. image: aceberg/watchyourlan
  109. network_mode: host
  110. environment:
  111. - IFACE=enp42s0
  112. - TZ=America/Los_Angeles
  113. - SHOURTRRR_URL=ntfy://ntfy.warchildstory.com/TestNotifications
  114. - GUIIP=0.0.0.0
  115. - GUIPORT=8840
  116. volumes:
  117. - /opt/wyl:/data
  118. ports:
  119. - 8840:8840
  120. metrics_monitored_hosts:
  121. - nas.home.arpa
  122. - gateway.home.arpa
  123. metrics_retention_days: 14
  124. metrics_graph_service: yes
  125. metrics_query_service: yes
  126. firewall:
  127. - {'service': 'grafana', 'state': 'enabled' }
  128. - {'service': 'http', 'state': 'enabled' }
  129. - {'port': '8080/tcp', 'state': 'enabled'}
  130. - {'port': '8081/tcp', 'state': 'enabled'}
  131. - {'port': '8086/tcp', 'state': 'enabled'}
  132. - {'port': '8088/tcp', 'state': 'enabled'}
  133. - {'port': '8840/tcp', 'state': 'enabled'}
  134. - {'port': '9091/tcp', 'state': 'enabled'}