nas-services.yml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  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: sickchill
  36. active: true
  37. image: linuxserver/sickchill
  38. ports:
  39. - 8081:8081
  40. volumes:
  41. - /opt/sickchill:/config
  42. - /mergerfs:/mergerfs
  43. include_global_env_vars: true
  44. restart: unless-stopped
  45. networks:
  46. - downloaders
  47. - name: transmission
  48. active: true
  49. image: linuxserver/transmission
  50. ports:
  51. - 9091:9091
  52. volumes:
  53. - /opt/transmission:/config
  54. - /mergerfs:/mergerfs
  55. include_global_env_vars: true
  56. environment:
  57. - USER={{ vaulted_nas_transmission_username }}
  58. - PASS={{ vaulted_nas_transmission_password }}
  59. restart: unless-stopped
  60. networks:
  61. - downloaders
  62. - name: qbittorrent
  63. active: true
  64. image: linuxserver/qbittorrent
  65. ports:
  66. - 8080:8080
  67. volumes:
  68. - /opt/qbittorrent:/config
  69. - /mergerfs:/mergerfs
  70. include_global_env_vars: true
  71. environment:
  72. - WEBUI_PORT=8080
  73. restart: unless-stopped
  74. networks:
  75. - downloaders
  76. - name: scrutiny
  77. active: true
  78. image: ghcr.io/analogj/scrutiny:master-omnibus
  79. ports:
  80. - 8088:8080
  81. - 8086:8086
  82. volumes:
  83. - /opt/scrutiny/config:/opt/scrutiny/config
  84. - /opt/scrutiny/influxdb2:/opt/scrutiny/influxdb
  85. - /run/udev:/run/udev:ro
  86. cap_add:
  87. - SYS_RAWIO
  88. - SYS_ADMIN # https://github.com/AnalogJ/scrutiny/issues/26#issuecomment-696817130
  89. devices:
  90. - /dev/sda
  91. - /dev/sdb
  92. - /dev/sdc
  93. - /dev/sdd
  94. - /dev/sde
  95. - /dev/sdf
  96. - /dev/sdg
  97. - /dev/sdi
  98. metrics_monitored_hosts: "{{ groups['nas'] }}" #TODO increase to others
  99. metrics_retention_days: 14
  100. metrics_graph_service: no
  101. metrics_query_service: no
  102. firewall:
  103. - service: grafana
  104. state: enabled
  105. - port: 8080/tcp
  106. state: enabled
  107. - port: 8081/tcp
  108. state: enabled
  109. - port: 8086/tcp
  110. state: enabled
  111. - port: 8088/tcp
  112. state: enabled
  113. - port: 9091/tcp
  114. state: enabled