version: '3.9'

services:
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 6881:6881
      - 6881:6881/udp
      - 8085:8085 # qbittorrent
    volumes:
      - /path/to/docker_stack/gluetun:/gluetun
    environment:
      - VPN_SERVICE_PROVIDER=airvpn
      - VPN_TYPE=wireguard
      - WIREGUARD_PUBLIC_KEY={from_config}
      - WIREGUARD_PRIVATE_KEY={from_config}
      - WIREGUARD_ADDRESSES=10.156.51.147/32
      - WIREGUARD_PRESHARED_KEY={from_config}
      - FIREWALL_VPN_INPUT_PORTS=12345
      - SERVER_NAMES=wurren
      - TZ=America/Vancouver
      - UPDATER_PERIOD=24h
    restart: always

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent
    container_name: qbittorrent
    depends_on:
      gluetun:
        condition: service_healthy
        restart: true
    network_mode: "service:gluetun"
    environment:
      - PUID=500
      - PGID=500
      - TZ=America/Vancouver
      - WEBUI_PORT=8085
      - TORRENTING_PORT=12345
    volumes:
      - /path/to/docker_stack/qbittorrent:/config
      - /path/to/Downloads/qbittorent:/qbittorrent/download
    restart: always