services: gluetun: cap_add: - NET_ADMIN cpu_shares: 90 command: [] container_name: gluetun devices: - /dev/net/tun:/dev/net/tun environment: - FIREWALL_OUTBOUND_SUBNETS=172.18.0.0/24,172.17.0.0/24 - PORT_FORWARD_ONLY=on - SERVER_COUNTRIES=United States - TZ=America/New York - UPDATER_PERIOD=24h - VPN_SERVICE_PROVIDER=protonvpn - VPN_TYPE=wireguard - WIREGUARD_PRIVATE_KEY=mLPRdoE498I85SSeBJmOjt46SpClMG40eWQZK0yB5Ug= image: qmcgaw/gluetun:latest ports: - mode: ingress target: 8888 published: "8888" protocol: tcp - mode: ingress target: 8388 published: "8388" protocol: tcp - mode: ingress target: 8388 published: "8388" protocol: udp - target: 8191 published: "8191" protocol: tcp - target: 8080 published: "8282" protocol: tcp - target: 7878 published: "7878" protocol: tcp - target: 8989 published: "8989" protocol: tcp - target: 9696 published: "9696" protocol: tcp - target: 8081 published: "8181" protocol: tcp restart: unless-stopped volumes: - type: bind source: /opt/docker/gluetun/appdata target: /gluetun bind: create_host_path: true flaresolverr: container_name: flaresolverr environment: - CAPTCHA_SOLVER=none - LOG_HTML=false - LOG_LEVEL=info - PGID=0 - PUID=0 - TZ=America/New_York - UMASK=002 image: ghcr.io/flaresolverr/flaresolverr:latest restart: unless-stopped network_mode: container:gluetun depends_on: - gluetun privileged: false deploy: resources: limits: cpus: '1' prowlarr: container_name: prowlarr environment: - PGID=0 - PUID=0 - TZ=America/New_York image: linuxserver/prowlarr:latest restart: unless-stopped volumes: - type: bind source: /opt/docker/prowlarr/appdata target: /config - type: bind source: /mnt/jellyshare target: /homenas network_mode: service:gluetun depends_on: - gluetun radarr: container_name: radarr environment: - PGID=0 - PUID=0 - TZ=America/New York image: linuxserver/radarr:latest restart: unless-stopped volumes: - type: bind source: /opt/docker/radarr/appdata target: /config - type: bind source: /mnt/jellyshare target: /homenas network_mode: service:gluetun deploy: resources: limits: cpus: '3' depends_on: - gluetun sonarr: container_name: sonarr environment: - PGID=0 - PUID=0 - TZ=America/New_York image: linuxserver/sonarr:latest restart: unless-stopped volumes: - type: bind source: /opt/docker/sonarr/appdata target: /config - type: bind source: /mnt/jellyshare target: /homenas network_mode: service:gluetun deploy: resources: limits: cpus: '3' depends_on: - gluetun qbittorrent: container_name: qbittorrent environment: - PGID=0 - PUID=0 - TZ=America/New York - UMASK=002 - WEBUI_PORTS=8081 image: ghcr.io/hotio/qbittorrent:latest restart: unless-stopped volumes: - type: bind source: /opt/docker/qbittorrent/appdata target: /config - type: bind source: /mnt/jellyshare target: /homenas network_mode: service:gluetun deploy: resources: limits: cpus: '2' depends_on: - gluetun sabnzbd: container_name: sabnzbd environment: - PGID=0 - PUID=0 - TZ=America/New York image: linuxserver/sabnzbd:latest restart: unless-stopped volumes: - type: bind source: /opt/docker/sabnzbd/appdata target: /config - type: bind source: /mnt/jellyshare target: /homenas network_mode: service:gluetun deploy: resources: limits: cpus: '2' depends_on: - gluetun homarr: container_name: homarr image: ghcr.io/homarr-labs/homarr:latest restart: unless-stopped network_mode: bridge volumes: # - /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration - /opt/docker/homarr/appdata:/appdata environment: - SECRET_ENCRYPTION_KEY=67d1ef282573de329a2d744082791aab2281bd102a03212937688098b81020b9 # <--- can be generated with `openssl rand -hex 32` ports: - '7575:7575'