nas.yml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230
  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_WD101EFAX-68LDBN0_VCG6YNSN
  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_WD101EFAX-68LDBN0_VCG6YNSN
  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_WD60EFAX-68SHWN0_WD-WX21D39PLU7H
  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_WD60EFAX-68SHWN0_WD-WX91D99DVRJH
  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/private/processing/sickchill:/mergerfs/private/processing/sickchill
  106. - /mergerfs/private/processing/incomplete:/mergerfs/private/processing/incomplete
  107. - /mergerfs/public/Videos/TV Shows:/mergerfs/public/Videos/TV Shows
  108. - /mergerfs/private/Videos/TV Shows:/mergerfs/private/Videos/TV Shows
  109. include_global_env_vars: true
  110. restart: unless-stopped
  111. networks:
  112. - downloaders
  113. - name: transmission
  114. active: true
  115. image: linuxserver/transmission
  116. ports:
  117. - 9091:9091
  118. volumes:
  119. - /opt/transmission:/config
  120. - /mergerfs/private/processing/incomplete:/mergerfs/private/processing/incomplete
  121. - /mergerfs/private/processing/sickchill:/mergerfs/private/processing/sickchill
  122. - /mergerfs/private/processing/sortmanually:/mergerfs/private/processing/sortmanually
  123. include_global_env_vars: true
  124. environment:
  125. - USER={{ vaulted_nas_transmission_username }}
  126. - PASS={{ vaulted_nas_transmission_password }}
  127. restart: unless-stopped
  128. networks:
  129. - downloaders
  130. - name: qbittorrent
  131. active: true
  132. image: linuxserver/qbittorrent
  133. ports:
  134. - 8080:8080
  135. volumes:
  136. - /opt/qbittorrent:/config
  137. - /mergerfs/private/processing/qbittorrent:/mergerfs/private/processing/qbittorrent
  138. include_global_env_vars: true
  139. environment:
  140. - WEBUI_PORT=8080
  141. restart: unless-stopped
  142. networks:
  143. - downloaders
  144. - name: heimdall
  145. active: true
  146. image: linuxserver/heimdall
  147. ports:
  148. - 80:80
  149. volumes:
  150. - /opt/heimdall:/config
  151. include_global_env_vars: true
  152. restart: unless-stopped
  153. networks:
  154. - heimdall
  155. - name: beets
  156. active: true
  157. image: linuxserver/beets
  158. ports:
  159. - 8337:8337
  160. volumes:
  161. - /opt/beets:/config
  162. - /mergerfs/public/Music:/music
  163. - /mergerfs/private/processing/music:/downloads
  164. include_global_env_vars: true
  165. restart: unless-stopped
  166. - name: gogs
  167. active: true
  168. image: gogs/gogs
  169. ports:
  170. - "10022:22" # https://github.com/go-yaml/yaml/issues/34#issuecomment-55772666
  171. - 10880:3000
  172. volumes:
  173. - /opt/gogs:/data
  174. restart: unless-stopped
  175. networks:
  176. - heimdall
  177. - name: flask-ytdl
  178. active: true
  179. image: flask-ytdl
  180. ports:
  181. - 5000:8080
  182. volumes:
  183. - /mergerfs/public/Music Videos:/output
  184. restart: unless-stopped
  185. networks:
  186. - heimdall
  187. host_bash_aliases:
  188. - user: root
  189. alias: beetsh
  190. command: docker exec -it beets bash
  191. - user: root
  192. alias: snapraid-watch-log
  193. command: tail -f /tmp/snapRAID.log
  194. - user: root
  195. alias: restartvpn
  196. command: "cd ~/git/infra ; ansible-playbook plays/restart-vpn.yml ; cd - > /dev/null"
  197. - user: sambatouch
  198. alias: cdqbt
  199. command: cd /mergerfs/private/processing/qbittorrent