services:
    sonarr:
        container_name: sonarr
        environment:
            - PUID=1000
            - PGID=1000
            - UMASK=022
            - TZ=America/Denver
        image: hotio/sonarr:latest
        labels:
            traefik.docker.network: traefik
            traefik.enable: true
            traefik.http.routers.sonarr.entrypoints: websecure
            traefik.http.routers.sonarr.rule: Host(`sonarr.alexlebens.net`)
            traefik.http.routers.sonarr.service: sonarr
            traefik.http.routers.sonarr.middlewares: sonarr-theme@file
            traefik.http.services.sonarr.loadbalancer.server.port: 8989
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.31
        restart: always
        privileged: true
        volumes:
            - sonarr:/config
            - storage_nfs:/mnt/store

    sonarr_anime:
        container_name: sonarr_anime
        environment:
            - PUID=1000
            - PGID=1000
            - UMASK=022
            - TZ=America/Denver
        image: hotio/sonarr:latest
        labels:
            traefik.docker.network: traefik
            traefik.enable: true
            traefik.http.routers.sonarr_anime.entrypoints: websecure
            traefik.http.routers.sonarr_anime.rule: Host(`sonarranime.alexlebens.net`)
            traefik.http.routers.sonarr_anime.service: sonarr_anime
            traefik.http.routers.sonarr_anime.middlewares: sonarr-theme@file
            traefik.http.services.sonarr_anime.loadbalancer.server.port: 8989
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.70
        restart: always
        privileged: true
        volumes:
            - sonarr_anime:/config
            - storage_nfs:/mnt/store

    sonarr_documentaries:
        container_name: sonarr_documentaries
        environment:
            - PUID=1000
            - PGID=1000
            - UMASK=022
            - TZ=America/Denver
        image: hotio/sonarr:latest
        labels:
            traefik.docker.network: traefik
            traefik.enable: true
            traefik.http.routers.sonarr_documentaries.entrypoints: websecure
            traefik.http.routers.sonarr_documentaries.rule: Host(`sonarrdocumentaries.alexlebens.net`)
            traefik.http.routers.sonarr_documentaries.service: sonarr_documentaries
            traefik.http.routers.sonarr_documentaries.middlewares: sonarr-theme@file
            traefik.http.services.sonarr_documentaries.loadbalancer.server.port: 8989
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.72
        restart: always
        privileged: true
        volumes:
            - sonarr_documentaries:/config
            - storage_nfs:/mnt/store

    sonarr_exporter:
        command: sonarr
        container_name: sonarr_exporter
        depends_on:
            - sonarr
        environment:
            PORT: 9707
            URL: http://sonarr:8989
            APIKEY: 7f0dfeea4b9f410d96b5ffa2f809d1e8
            ENABLE_EPISODE_QUALITY_METRICS: false
        image: ghcr.io/onedr0p/exportarr:latest
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.37
        restart: always

    sonarr_anime_exporter:
        command: sonarr
        container_name: sonarr_anime_exporter
        depends_on:
            - sonarr_anime
        environment:
            PORT: 9707
            URL: http://sonarr_anime:8989
            APIKEY: a2f10e70559c4ee3b8ff1d6cdc5a41f1
            ENABLE_EPISODE_QUALITY_METRICS: false
        image: ghcr.io/onedr0p/exportarr:latest
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.71
        restart: always

    sonarr_documentaries_exporter:
        command: sonarr
        container_name: sonarr_documentaries_exporter
        depends_on:
            - sonarr_documentaries
        environment:
            PORT: 9707
            URL: http://sonarr_documentaries:8989
            APIKEY: 3ed988c3731b45ad8124b7d55b620d6b
            ENABLE_EPISODE_QUALITY_METRICS: false
        image: ghcr.io/onedr0p/exportarr:latest
        logging:
            driver: json-file
            options:
                max-size: 50m
                max-file: "3"
        networks:
            traefik:
                ipv4_address: 172.27.1.73
        restart: always

networks:
    traefik:
        name: traefik
        external: true

volumes:
    sonarr:
        driver: local
        driver_opts:
            type: none
            o: bind
            device: /var/lib/docker/volumes/partition/servarr_sonarr

    sonarr_anime:
        driver: local
        driver_opts:
            type: none
            o: bind
            device: /var/lib/docker/volumes/partition/servarr_sonarr_anime

    sonarr_documentaries:
        driver: local
        driver_opts:
            type: none
            o: bind
            device: /var/lib/docker/volumes/partition/servarr_sonarr_documentaries

#    storage:
#        driver: local
#        driver_opts:
#            type: cifs
#            o: username=aurailious,password=24wrsfxv@$$WRSFXV,file_mode=0777,dir_mode=0777
#            device: "//192.168.1.194/Storage"

    storage_nfs:
        driver: local
        driver_opts:
            type: nfs
            o: addr=192.168.1.194,nfsvers=4
            device: :/volume2/Storage
