---
container_user: "{{ vaulted_container_user }}"
container_uid: 1558
container_group: "{{ vaulted_container_group }}"
container_gid: 3333

backups: containers
backups_ignore: /mergerfs

snapraid_parity_disks:
  - path: /mnt/parity1
    parity: parity
    disk: /dev/mapper/luks-parity1
    crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFAX-68LDBN0_VCG6YNSN
    opts: _netdev

  - path: /mnt/parity2
    parity: 2-parity
    disk: /dev/mapper/luks-parity2
    crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFAX-68LDBN0_VCG6YNSN
    opts: _netdev

snapraid_data_disks:
  - path: /mnt/disk1
    disk: /dev/mapper/luks-disk1
    crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFBX-68B0AN0_VCJW0TDP
    opts: _netdev
    owner: "{{ container_user }}"
    group: "{{ container_group }}"

  - path: /mnt/disk2
    disk: /dev/mapper/luks-disk2
    crypted_disk: /dev/disk/by-id/ata-WDC_WD60EFAX-68SHWN0_WD-WX21D39PLU7H
    opts: _netdev
    owner: "{{ container_user }}"
    group: "{{ container_group }}"

  - path: /mnt/disk3
    disk: /dev/mapper/luks-disk3
    crypted_disk: /dev/disk/by-id/ata-WDC_WD60EFAX-68SHWN0_WD-WX91D99DVRJH
    opts: _netdev
    owner: "{{ container_user }}"
    group: "{{ container_group }}"

  - path: /mnt/disk4
    disk: /dev/mapper/luks-disk4
    crypted_disk: /dev/disk/by-id/ata-WDC_WD60EFAX-68SHWN0_WD-WX31D298F8X9
    opts: _netdev
    owner: "{{ container_user }}"
    group: "{{ container_group }}"

  - path: /mnt/disk5
    disk: /dev/mapper/luks-disk5
    crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFAX-68LDBN0_VCG7HUBN
    opts: _netdev
    owner: "{{ container_user }}"
    group: "{{ container_group }}"

  - path: /mnt/disk6
    disk: /dev/mapper/luks-disk6
    crypted_disk: /dev/disk/by-id/ata-WDC_WD101EFAX-68LDBN0_VCG6YXAN
    opts: _netdev
    owner: "{{ container_user }}"
    group: "{{ container_group }}"

mergerfs_disks: "{{ snapraid_data_disks }}"

mergerfs_fstab:
  - path: /mergerfs
    owner: "{{ container_user }}"
    group: "{{ container_group }}"
    source: /mnt/disk*
    opts:
      - allow_other
      - minfreespace=10G
      - category.create=mfs
      - use_ino
      - func.getattr=newest
      - fsname=mergerfs
      - _netdev
      - nonempty

global_env_vars:
  - PUID={{ container_uid }}
  - PGID={{ container_gid }}
  - TZ=America/Los_Angeles


firewall_ports:
  - 80/tcp
  - 5000/tcp
  - 8080/tcp
  - 8081/tcp
  - 8337/tcp
  - 9091/tcp
  - 10022/tcp
  - 10880/tcp


container_networks:
  - name: downloaders
    driver: bridge
    subnet: 172.21.10.0/24
    ip_range: 172.21.10.0/24
    gateway: 172.21.10.1

  - name: heimdall
    driver: bridge
    subnet: 172.22.20.0/24
    ip_range: 172.22.20.0/24
    gateway: 172.22.20.1


# old docker-compose from EPEL complains about mem_limit
# omit until nas is upgraded
containers:
  - name: sickchill
    active: true
    image: linuxserver/sickchill
    ports:
      - 8081:8081
    volumes:
      - /opt/sickchill:/config
      - /mergerfs/private/processing/sickchill:/mergerfs/private/processing/sickchill
      - /mergerfs/private/processing/incomplete:/mergerfs/private/processing/incomplete
      - /mergerfs/public/Videos/TV Shows:/mergerfs/public/Videos/TV Shows
      - /mergerfs/private/Videos/TV Shows:/mergerfs/private/Videos/TV Shows
    include_global_env_vars: true
    restart: unless-stopped
    networks:
      - downloaders 

  - name: transmission
    active: true
    image: linuxserver/transmission
    ports:
      - 9091:9091
    volumes:
      - /opt/transmission:/config
      - /mergerfs/private/processing/incomplete:/mergerfs/private/processing/incomplete
      - /mergerfs/private/processing/sickchill:/mergerfs/private/processing/sickchill
      - /mergerfs/private/processing/sortmanually:/mergerfs/private/processing/sortmanually
    include_global_env_vars: true
    environment:
      - USER={{ vaulted_nas_transmission_username }}
      - PASS={{ vaulted_nas_transmission_password }}
    restart: unless-stopped
    networks:
      - downloaders

  - name: qbittorrent
    active: true
    image: linuxserver/qbittorrent
    ports:
      - 8080:8080
    volumes:
      - /opt/qbittorrent:/config
      - /mergerfs/private/processing/qbittorrent:/mergerfs/private/processing/qbittorrent
    include_global_env_vars: true
    environment:
      - WEBUI_PORT=8080
    restart: unless-stopped
    networks:
      - downloaders

  - name: heimdall
    active: true
    image: linuxserver/heimdall
    ports:
      - 80:80
    volumes:
      - /opt/heimdall:/config
    include_global_env_vars: true
    restart: unless-stopped
    networks:
      - heimdall

  - name: beets
    active: true
    image: linuxserver/beets
    ports:
      - 8337:8337
    volumes:
      - /opt/beets:/config
      - /mergerfs/public/Music:/music
      - /mergerfs/private/processing/music:/downloads
    include_global_env_vars: true
    restart: unless-stopped

  - name: gogs
    active: true
    image: gogs/gogs
    ports:
      - "10022:22" # https://github.com/go-yaml/yaml/issues/34#issuecomment-55772666
      - 10880:3000
    volumes:
      - /opt/gogs:/data
    restart: unless-stopped
    networks:
      - heimdall

  - name: flask-ytdl
    active: true
    image: flask-ytdl
    ports:
      - 5000:8080
    volumes:
      - /mergerfs/public/Music Videos:/output
    restart: unless-stopped
    networks:
      - heimdall

host_bash_aliases:
  - user: root
    alias: beetsh
    command: docker exec -it beets bash

  - user: root
    alias: snapraid-watch-log
    command: tail -f /tmp/snapRAID.log

  - user: root
    alias: restartvpn
    command: "cd ~/git/infra ; ansible-playbook plays/restart-vpn.yml ; cd - > /dev/null"

  - user: sambatouch
    alias: cdqbt
    command: cd /mergerfs/private/processing/qbittorrent