Docker Compose

Plex + arr Stack Compose Files

This isn't a direct copy paste for it to work, you will need to replace the volumes with your directories to each folder. For this compose, I use wireguard through proton vpn but you may have a different VPN service that could be using OpenVPN as opposed to WireGuard. Make sure you edit your compose accordingly.

vpnstack

Gluetun, qBittorrent, arr Apps, and FlareSolverr

services:
  gluetun:
    image: qmcgaw/gluetun:latest
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun
    ports:
      - "8080:8080"
    environment:
      - VPN_SERVICE_PROVIDER=protonvpn
      - VPN_TYPE=wireguard
      - WIREGUARD_PRIVATE_KEY= (REPLACE WITH YOUR WIREGUARD PRIVATE KEY)
      - SERVER_COUNTRIES=United States
      - PORT_FORWARDING=on
      - VPN_INTERFACE_MTU=1320
      - TZ=America/Chicago
    volumes:
      - /volume1/docker/gluetun:/gluetun
    restart: unless-stopped

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    network_mode: "service:gluetun"
    depends_on:
      - gluetun
    environment:
      - PUID=1000
      - PGID=10
      - TZ=America/Chicago
      - UMASK=002
      - WEBUI_PORT=8080
      - WEBUI_BIND_ADDRESS=0.0.0.0
    volumes:
      - /volume1/docker/qbittorrent:/config
      - /volume1/Media/Downloads:/downloads
    restart: unless-stopped

  radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: radarr
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Chicago
      - UMASK=002
    volumes:
      - /volume1/docker/radarr:/config
      - /volume1/Media/Downloads:/downloads
      - /volume1/Media/Movies:/movies
    restart: unless-stopped

  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Chicago
      - UMASK=002
    volumes:
      - /volume1/docker/sonarr:/config
      - /volume1/Media/Downloads:/downloads
      - /volume1/Media/TV:/tv
    restart: unless-stopped

  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Chicago
      - UMASK=002
    volumes:
      - /volume1/docker/prowlarr:/config
    restart: unless-stopped

  flaresolverr:
    image: ghcr.io/flaresolverr/flaresolverr:latest
    container_name: flaresolverr
    restart: unless-stopped
    environment:
      - LOG_LEVEL=info
      - LOG_HTML=false
      - CAPTCHA_SOLVER=none
      - TZ=America/Chicago
    ports:
      - "8191:8191"

plex

Plex Media Server

services:
  plex:
    image: lscr.io/linuxserver/plex:latest
    container_name: plex
    network_mode: host
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Chicago
      - VERSION=docker
    volumes:
      - /volume1/Plex:/config
      - /volume1/Media/Movies:/movies
      - /volume1/Media/TV:/tv
      - /volume1/Media/Downloads:/downloads
    restart: unless-stopped