57 lines
1.8 KiB
YAML

###############################################################
# Networks
###############################################################
networks:
proxy-net:
name: proxy-net
external: true
###############################################################
# Services
###############################################################
services:
###### ----- VPN Client ----- ######
gluetun:
image: qmcgaw/gluetun:v3.41.1
container_name: gluetun
mem_limit: 2048m
cap_add:
- NET_ADMIN
ports:
- 0.0.0.0:8081:8081 #Torrent Port
devices:
- /dev/net/tun:/dev/net/tun
volumes:
- /mnt/appdata/gluetun:/gluetun
env_file: .env
environment:
- VPN_SERVICE_PROVIDER=nordvpn
- VPN_TYPE=wireguard
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
- TZ=America/New_York
networks:
- proxy-net
labels:
- "traefik.enable=false" # Not exposed directly via Traefik
#### ----- Torrent Client (Routed via VPN) ----- ######
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:5.1.4-r3-ls450
container_name: qbittorrent
network_mode: "service:gluetun"
environment:
- PUID=0
- PGID=0
- TZ=America/New_York
- WEBUI_PORT=8081
volumes:
- /mnt/appdata/qbittorrent/data:/config
- /mnt/media/incoming/downloads-qbit:/downloads
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.qbittorrent.entrypoints=websecure"
- "traefik.http.routers.qbittorrent.rule=Host(`qbit.castaldifamily.com`)"
- "traefik.http.routers.qbittorrent.tls=true"
- "traefik.http.routers.qbittorrent.tls.certresolver=letsencrypt"
- "traefik.http.services.qbittorrent.loadbalancer.server.port=8081"