nas.yml 5.5 KB

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