nas.yml 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. ---
  2. container_user: "{{ vaulted_container_user }}"
  3. container_uid: 1558
  4. container_group: "{{ vaulted_container_group }}"
  5. container_gid: 3333
  6. backups: containers
  7. backups_ignore: /mergerfs
  8. snapraid_parity_disks:
  9. - path: /mnt/parity1
  10. parity: parity
  11. disk: /dev/mapper/luks-parity1
  12. crypted_disk: /dev/disk/by-id/ata-WDC_WD140EFGX-68B0GN0_9LJB4A4G
  13. opts: _netdev
  14. - path: /mnt/parity2
  15. parity: 2-parity
  16. disk: /dev/mapper/luks-parity2
  17. crypted_disk: /dev/disk/by-id/ata-WDC_WD140EFGX-68B0GN0_9LJB0KBG
  18. opts: _netdev
  19. snapraid_data_disks:
  20. - path: /mnt/disk1
  21. disk: /dev/mapper/luks-disk1
  22. crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFBX-68B0AN0_VCJW0TDP
  23. opts: _netdev
  24. owner: "{{ container_user }}"
  25. group: "{{ container_group }}"
  26. - path: /mnt/disk2
  27. disk: /dev/mapper/luks-disk2
  28. crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFAX-68LDBN0_VCG6YNSN
  29. opts: _netdev
  30. owner: "{{ container_user }}"
  31. group: "{{ container_group }}"
  32. - path: /mnt/disk3
  33. disk: /dev/mapper/luks-disk3
  34. crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFAX-68LDBN0_VCG6VGPN
  35. opts: _netdev
  36. owner: "{{ container_user }}"
  37. group: "{{ container_group }}"
  38. - path: /mnt/disk4
  39. disk: /dev/mapper/luks-disk4
  40. crypted_disk: /dev/disk/by-id/ata-WDC_WD60EFAX-68SHWN0_WD-WX31D298F8X9
  41. opts: _netdev
  42. owner: "{{ container_user }}"
  43. group: "{{ container_group }}"
  44. - path: /mnt/disk5
  45. disk: /dev/mapper/luks-disk5
  46. crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFAX-68LDBN0_VCG7HUBN
  47. opts: _netdev
  48. owner: "{{ container_user }}"
  49. group: "{{ container_group }}"
  50. - path: /mnt/disk6
  51. disk: /dev/mapper/luks-disk6
  52. crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFAX-68LDBN0_VCG6YXAN
  53. opts: _netdev
  54. owner: "{{ container_user }}"
  55. group: "{{ container_group }}"
  56. mergerfs_disks: "{{ snapraid_data_disks }}"
  57. mergerfs_fstab:
  58. - path: /mergerfs
  59. owner: "{{ container_user }}"
  60. group: "{{ container_group }}"
  61. source: /mnt/disk*
  62. opts:
  63. - allow_other
  64. - minfreespace=10G
  65. - category.create=mfs
  66. - use_ino
  67. - func.getattr=newest
  68. - fsname=mergerfs
  69. - _netdev
  70. - nonempty
  71. global_env_vars:
  72. - PUID={{ container_uid }}
  73. - PGID={{ container_gid }}
  74. - TZ=America/Los_Angeles
  75. firewall_ports:
  76. - 80/tcp
  77. - 5000/tcp
  78. - 8080/tcp
  79. - 8081/tcp
  80. - 8337/tcp
  81. - 9091/tcp
  82. - 10022/tcp
  83. - 10880/tcp
  84. container_networks:
  85. - name: downloaders
  86. driver: bridge
  87. subnet: 172.21.10.0/24
  88. ip_range: 172.21.10.0/24
  89. gateway: 172.21.10.1
  90. - name: heimdall
  91. driver: bridge
  92. subnet: 172.22.20.0/24
  93. ip_range: 172.22.20.0/24
  94. gateway: 172.22.20.1
  95. # old docker-compose from EPEL complains about mem_limit
  96. # omit until nas is upgraded
  97. containers:
  98. - name: sickchill
  99. active: true
  100. image: linuxserver/sickchill
  101. ports:
  102. - 8081:8081
  103. volumes:
  104. - /opt/sickchill:/config
  105. - /mergerfs:/mergerfs
  106. include_global_env_vars: true
  107. restart: unless-stopped
  108. networks:
  109. - downloaders
  110. - name: transmission
  111. active: true
  112. image: linuxserver/transmission
  113. ports:
  114. - 9091:9091
  115. volumes:
  116. - /opt/transmission:/config
  117. - /mergerfs/private/processing:/mergerfs/private/processing
  118. include_global_env_vars: true
  119. environment:
  120. - USER={{ vaulted_nas_transmission_username }}
  121. - PASS={{ vaulted_nas_transmission_password }}
  122. restart: unless-stopped
  123. networks:
  124. - downloaders
  125. - name: qbittorrent
  126. active: true
  127. image: linuxserver/qbittorrent
  128. ports:
  129. - 8080:8080
  130. volumes:
  131. - /opt/qbittorrent:/config
  132. - /mergerfs/private/processing/qbittorrent:/mergerfs/private/processing/qbittorrent
  133. include_global_env_vars: true
  134. environment:
  135. - WEBUI_PORT=8080
  136. restart: unless-stopped
  137. networks:
  138. - downloaders
  139. - name: heimdall
  140. active: true
  141. image: linuxserver/heimdall
  142. ports:
  143. - 80:80
  144. volumes:
  145. - /opt/heimdall:/config
  146. include_global_env_vars: true
  147. restart: unless-stopped
  148. networks:
  149. - heimdall
  150. - name: beets
  151. active: true
  152. image: linuxserver/beets
  153. ports:
  154. - 8337:8337
  155. volumes:
  156. - /opt/beets:/config
  157. - /mergerfs/public/Music:/music
  158. - /mergerfs/private/processing/music:/downloads
  159. include_global_env_vars: true
  160. restart: unless-stopped
  161. - name: flask-ytdl
  162. active: true
  163. image: flask-ytdl
  164. ports:
  165. - 5000:8080
  166. volumes:
  167. - /mergerfs/public/Music Videos:/output
  168. restart: unless-stopped
  169. networks:
  170. - heimdall
  171. host_bash_aliases:
  172. - user: root
  173. alias: beetsh
  174. command: docker exec -it beets bash
  175. - user: root
  176. alias: snapraid-watch-log
  177. command: tail -f /tmp/snapRAID.log
  178. - user: root
  179. alias: restartvpn
  180. command: "cd ~/git/infra ; ansible-playbook plays/restart-vpn.yml ; cd - > /dev/null"
  181. - user: sambatouch
  182. alias: cdqbt
  183. command: cd /mergerfs/private/processing/qbittorrent