Plex

Plex related apps

Transmission

  transmission:
    container_name: transmission
    image: haugene/transmission-openvpn
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    restart: unless-stopped
    ports:
      - 9091:9091
      - 51413:51413
      - 51413:51413/udp
    dns:
      - 8.8.4.4
      - 8.8.8.8
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /drivespace/movies/downloads:/data
    environment:
      - OPENVPN_PROVIDER=PIA
      - OPENVPN_CONFIG=CA Montreal
      - OPENVPN_USERNAME=${OPENVPN_USERNAME}
      - OPENVPN_PASSWORD=${PASSWORD}
      - OPENVPN_OPTS=--inactive 3600 --ping 10 --ping-exit 60 --mssfix 1300 #mssfix will hopefully resolve bad packet id errors
      - LOCAL_NETWORK=192.168.120.0/22
      - TRANSMISSION_RATIO_LIMIT_ENABLED=true #was true but trying false and manual monitoring
      - TRANSMISSION_RATIO_LIMIT=5
      - TRANSMISSION_WEB_UI=kettu #sexier UI
      - TRANSMISSION_SCRAPE_PAUSED_TORRENTS_ENABLED=false #useful if having issue with pulling down torrent info
      - TRANSMISSION_DHT_ENABLED=false #disallows sharing outside of private tracker
      - TRANSMISSION_PEX_ENABLED=false #similar to above
      - TRANSMISSION_ENCRYPTION=1 #prefer encrypted connections
      - TRANSMISSION_WATCH_DIR_ENABLED=true 
      - TRANSMISSION_WATCH_DIR=/data/watching
      - TRANSMISSION_INCOMPLETE_DIR=/data/incomplete
      - TRANSMISSION_INCOMPLETE_DIR_ENABLED=true 
      - TRANSMISSION_DOWNLOAD_DIR=/data/completed
      - TRANSMISSION_DOWNLOAD_QUEUE_ENABLED=1 #enables download queue to go beyond limit of 5
      - TRANSMISSION_DOWNLOAD_QUEUE_SIZE=50 #increase download queue to 50 assuming
      - TRANSMISSION_QUEUE_STALLED_ENABLED=false #stop downloads pausing when stalled
      - TRANSMISSION_SCRIPT_TORRENT_DONE_ENABLED=true #enable script on download completion
      - TRANSMISSION_SCRIPT_TORRENT_DONE_FILENAME=/data/unrar #script to run
      - PGID=1000
      - PUID=1000 
    networks:
      web:
        ipv4_address: 172.18.0.5
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.transmission-web.rule=Host(`downloads.kevinsloan.net`)"
      - "traefik.http.routers.transmission-web.entrypoints=web"
      - "traefik.http.routers.transmission-web.middlewares=redirect@file"
      - "traefik.http.routers.transmission-secured.rule=Host(`downloads.kevinsloan.net`)"
      - "traefik.http.routers.transmission-secured.entrypoints=web-secured"
      - "traefik.http.routers.transmission-secured.tls.certresolver=mytlschallenge"
      - "traefik.http.routers.transmission-secured.middlewares=test-auth@file"
      - "traefik.http.services.transmission.loadbalancer.server.port=9091"

Sonarr

  sonarr:
    image: linuxserver/sonarr
    container_name: sonarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - UMASK_SET=022 #optional
    volumes:
      - /Docker/trackers/Sonarr:/config
      - /drivespace/TV:/tv
      - /drivespace/movies/downloads/completed:/downloads
      - /drivespace/movies/downloads/completed:/data/completed
    restart: unless-stopped
    networks:
      web:
        ipv4_address: 172.18.0.7
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.sonarr-web.rule=Host(`sonarr.kevinsloan.net`)"
      - "traefik.http.routers.sonarr-web.entrypoints=web"
      - "traefik.http.routers.sonarr-web.middlewares=redirect@file"
      - "traefik.http.routers.sonarr-secured.rule=Host(`sonarr.kevinsloan.net`)"
      - "traefik.http.routers.sonarr-secured.entrypoints=web-secured"
      - "traefik.http.routers.sonarr-secured.tls.certresolver=mytlschallenge"
      - "traefik.http.routers.sonarr-secured.middlewares=test-auth@file"

Radarr

  radarr:
    image: linuxserver/radarr
    container_name: radarr
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - UMASK_SET=022 #optional
    volumes:
      - /Docker/trackers/Radarr:/config
      - /drivespace/movies/movies_real:/movies
      - /drivespace/movies/downloads/completed:/downloads
      - /drivespace/movies/downloads/completed:/data/completed #adding this because importer was looking for "data"
    restart: unless-stopped
    networks:
      web:
        ipv4_address: 172.18.0.8
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.radarr-web.rule=Host(`radarr.kevinsloan.net`)"
      - "traefik.http.routers.radarr-web.entrypoints=web"
      - "traefik.http.routers.radarr-web.middlewares=redirect@file"
      - "traefik.http.routers.radarr-secured.rule=Host(`radarr.kevinsloan.net`)"
      - "traefik.http.routers.radarr-secured.entrypoints=web-secured"
      - "traefik.http.routers.radarr-secured.tls.certresolver=mytlschallenge"    
      - "traefik.http.routers.radarr-secured.middlewares=test-auth@file"

Jackett

  jackett:
    image: linuxserver/jackett
    container_name: jackett 
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    volumes:
      - /Docker/trackers/Jackett:/config
      - /drivespace/movies/downloads/completed:/downloads
    restart: unless-stopped
    networks:
      web:
        ipv4_address: 172.18.0.6
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.jackett-web.rule=Host(`jackett.kevinsloan.net`)"
      - "traefik.http.routers.jackett-web.entrypoints=web"
      - "traefik.http.routers.jackett-web.middlewares=redirect@file"
      - "traefik.http.routers.jackett-secured.rule=Host(`jackett.kevinsloan.net`)"
      - "traefik.http.routers.jackett-secured.entrypoints=web-secured"
      - "traefik.http.routers.jackett-secured.tls.certresolver=mytlschallenge"

Plex

  plex:
    image: linuxserver/plex
    container_name: plex
    environment:
      - PUID=1000
      - PGID=1000
      - VERSION=docker
      - UMASK_SET=022 #optional
      - PLEX_CLAIM="claim-TC4UsrTshyZ2qCUWPy7o"
    volumes:
      - /Docker/Plex/Library:/config
      - /drivespace/TV:/tv
      - /drivespace/movies:/movies
      - /mnt/RAMDISK:/transcode
    restart: unless-stopped
    networks:
      web:
        ipv4_address: 172.18.0.9
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.plex-web.rule=Host(`plex.kevinsloan.net`)"
      - "traefik.http.routers.plex-web.entrypoints=web"
      - "traefik.http.routers.plex-web.middlewares=redirect@file"
      - "traefik.http.routers.plex-secured.rule=Host(`plex.kevinsloan.net`)"
      - "traefik.http.routers.plex-secured.entrypoints=web-secured"
      - "traefik.http.routers.plex-secured.tls.certresolver=mytlschallenge"    
      - "traefik.http.services.plex.loadbalancer.server.port=32400"

Tautulli

  tautulli:
    image: tautulli/tautulli
    container_name: tautulli
    volumes:
      - /Docker/tautulli:/config
      - /Docker/Plex/Library/Library/Application Support/Plex Media Server/Logs:/plex_logs:ro
    environment:
      - PGID=1000
      - PUID=1000
      - TZ=America/New_York
    networks:
      web:
        ipv4_address: 172.18.0.10
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.tautulli-web.rule=Host(`monitorplex.kevinsloan.net`)"
      - "traefik.http.routers.tautulli-web.entrypoints=web"
      - "traefik.http.routers.tautulli-web.middlewares=redirect@file"
      - "traefik.http.routers.tautulli-secured.rule=Host(`monitorplex.kevinsloan.net`)"
      - "traefik.http.routers.tautulli-secured.entrypoints=web-secured"
      - "traefik.http.routers.tautulli-secured.tls.certresolver=mytlschallenge"
    restart: unless-stopped

Ombi

  ombi:
    image: linuxserver/ombi
    container_name: ombi
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
      - BASE_URL=/ombi
    volumes:
      - /Docker/ombi/config:/config
    restart: unless-stopped
    networks:
      web:
        ipv4_address: 172.18.0.17
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ombi-web.rule=Host(`plexRequest.kevinsloan.net`)"
      - "traefik.http.routers.ombi-web.entrypoints=web"
      - "traefik.http.routers.ombi-web.middlewares=redirect@file"
      - "traefik.http.routers.ombi-secured.rule=Host(`plexRequest.kevinsloan.net`)"
      - "traefik.http.routers.ombi-secured.entrypoints=web-secured"
      - "traefik.http.routers.ombi-secured.tls.certresolver=mytlschallenge"