services:
  gluetun:
    image: qmcgaw/gluetun:v3.41.1
    container_name: gluetun
    cap_add:
    - NET_ADMIN
    devices:
    - /dev/net/tun:/dev/net/tun
    ports:
    - 15592:15592/tcp
    - 15592:15592/udp
    - 8181:8080/tcp
    - 9696:9696/tcp
    - 5010:5010
    restart: unless-stopped
    environment:
    - WIREGUARD_PERSISTENT_KEEPALIVE_INTERVAL=25s
    - VPN_SERVICE_PROVIDER=custom
    - VPN_TYPE=wireguard
    - WIREGUARD_ADDRESSES=10.2.0.2/32
    - FIREWALL_OUTBOUND_SUBNETS=192.168.50.0/24
    - DNS_ADDRESS=10.2.0.1
    - WIREGUARD_ENDPOINT_IP=154.47.24.193
    - FIREWALL_VPN_INPUT_PORTS=15592
    - TZ=Europe/London
    - WIREGUARD_PRIVATE_KEY=put your key in here =
    - WIREGUARD_PUBLIC_KEY=put your key in here=
    - WIREGUARD_ENDPOINT_PORT=51820
    - WIREGUARD_ALLOWED_IPS=0.0.0.0/0
    - FIREWALL_ENABLED_DISABLING_IT_SHOOTS_YOU_IN_YOUR_FOOT=on
    - LOG_LEVEL=info
    - HEALTH_RESTART_VPN=on
    - DNS_SERVER=on
    - DNS_UPSTREAM_RESOLVER_TYPE=DoT
    - DNS_UPSTREAM_RESOLVERS=cloudflare
    - DNS_CACHING=on
    - DNS_UPSTREAM_IPV6=off
    - BLOCK_MALICIOUS=on
    - BLOCK_SURVEILLANCE=off
    - BLOCK_ADS=off
    - PUBLICIP_ENABLED=on
    - PUID=1000
    - PGID=1000
  qbittorrent:
    image: ghcr.io/hotio/qbittorrent@sha256:2b3d553f97e1470c6ad8c94c1b7c3215fb29221fa47f2f1b5dc4a65b1f281c6e
    container_name: qbittorrent
    network_mode: service:gluetun
    depends_on:
    - gluetun
    restart: unless-stopped
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Europe/London
    - UMASK=002
    - WEBUI_PORTS=8080/tcp
    - LIBTORRENT=v1
    volumes:
    - /storage/config/qbit:/config
    - /storage/config/qbit:/downloads
  sonarr:
    image: lscr.io/linuxserver/sonarr:latest
    container_name: sonarr
    ports:
    - 8989:8989
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Europe/London
    - UMASK=002
    volumes:
    - /storage/config/sonarr:/config
    - /storage/:/data
    restart: unless-stopped
  radarr:
    image: lscr.io/linuxserver/radarr:latest
    container_name: radarr
    ports:
    - 7878:7878
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Europe/London
    - UMASK=002
    volumes:
    - /storage/config/radarr:/config
    - /storage/media/media:/data
    restart: unless-stopped
  readarr:
    image: linuxserver/readarr:0.3.10-develop
    container_name: readarr
    ports:
    - 8787:8787
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Europe/London
    - UMASK=002
    volumes:
    - /storage/config/readarr:/config
    - /storage/media/media:/data
    restart: unless-stopped
  kingsweb:
    image: nginx:1.29.0-alpine
    container_name: kingsweb
    ports:
    - 8088:80
    volumes:
    - /storage/media/website:/usr/share/nginx/html:ro
    restart: unless-stopped
  prowlarr:
    image: lscr.io/linuxserver/prowlarr:latest
    container_name: prowlarr
    network_mode: service:gluetun
    environment:
    - PUID=1000
    - PGID=1000
    - TZ=Europe/London
    - UMASK=002
    volumes:
    - /storage/config/prowlarr:/config
    restart: unless-stopped
  byparr:
    image: ghcr.io/thephaseless/byparr:latest
    container_name: byparr
    ports:
    - 8191:8191
    environment:
    - TZ=Europe/London
    restart: unless-stopped
  mousehole:
    image: tmmrtn/mousehole:latest
    container_name: mousehole
    network_mode: service:gluetun
    depends_on:
      gluetun:
        condition: service_healthy
    environment:
    - TZ=Europe/London
    - MOUSEHOLE_AUTH_PASSWORD=put your password here
    - MOUSEHOLE_ALLOWED_HOSTS=localhost,127.0.0.1,192.168.50.93
    volumes:
    - mousehole:/var/lib/mousehole
    restart: unless-stopped
volumes:
  mousehole: null
