Files
the_information_nexus/tech_docs/networking/vpn-torrent.md
Whisker Jones 7d794ad2f9 site updates
2024-05-05 10:38:02 -06:00

4.7 KiB

  1. Volume Paths: Make sure the paths specified in the volumes sections are correct and accessible by Docker. These paths are where your configuration, downloads, and other data will be stored.

  2. Network Mode: You've correctly set the network mode of the dependent services (qbittorrent, jackett, sonarr, prowlarr) to service:gluetun. This ensures that they use the VPN connection established by the gluetun service.

  3. Environment Variables:

    • VPN_SERVICE_PROVIDER, VPN_TYPE, and related settings in gluetun should be correctly configured for your VPN provider.
    • Replace <YOUR_PRIVATE_KEY> with your actual WireGuard private key.
    • PUID and PGID should match your user ID and group ID on the host system.
  4. Ports: Ensure that the ports you've exposed are open and not being used by other services on your host system. This is important for accessing the web UIs of the respective services.

  5. Time Zone: You've set the time zone for most services to Etc/UTC. Ensure this is what you intend, or adjust it to your local time zone.

  6. Restart Policy: You've set a restart policy for each service, which is good for ensuring they automatically restart in case of a crash or after a reboot.

  7. Service Dependencies: The depends_on section for services like qbittorrent is correctly set to depend on gluetun. This ensures gluetun starts before them.

  8. Configuration and Data Persistence: Your setup indicates that configuration and data will be persisted on the host file system in the /home/ubuntu/docker/arr-stack/ directory. This is good practice for data persistence.

Before deploying, make sure to replace any placeholders (like <YOUR_PRIVATE_KEY>) with actual values. Once everything is set up, you can start your Docker Compose stack with:

docker-compose up -d

This command will start all services in the background. You can then access the web interfaces of qBittorrent, Jackett, Sonarr, and Prowlarr through the respective ports you've configured.

---
version: "3"
services:
  gluetun:
    image: qmcgaw/gluetun
   container_name: gluetun
   # line above must be uncommented to allow external containers to connect.
   # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
   cap_add:
     - NET_ADMIN
   devices:
     - /dev/net/tun:/dev/net/tun
   ports:
     - 6881:6881
     - 6881:6881/udp
     - 8085:8085 # qbittorrent
     - 9117:9117 # Jackett
     - 8989:8989 # Sonarr
     - 9696:9696 # Prowlarr
   volumes:
     - /home/ubuntu/docker/arr-stack:/gluetun
   environment:
     # See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
     - VPN_SERVICE_PROVIDER=nordvpn
     - VPN_TYPE=wireguard
     # OpenVPN:
     # - OPENVPN_USER=
     # - OPENVPN_PASSWORD=
     # Wireguard:
     - WIREGUARD_PRIVATE_KEY=<YOUR_PRIVATE_KEY> # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/nordvpn.md#obtain-your-wireguard-private-key
     - WIREGUARD_ADDRESSES=10.5.0.2/32
     # Timezone for accurate log times
     - TZ=Europe/London
     # Server list updater
     # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/servers.md#update-the-vpn-servers-list
     - UPDATER_PERIOD=24h
 qbittorrent:
   image: lscr.io/linuxserver/qbittorrent
   container_name: qbittorrent
   network_mode: "service:gluetun"
   environment:
     - PUID=1000
     - PGID=1000
     - TZ=Europe/London
     - WEBUI_PORT=8085
   volumes:
     - /home/ubuntu/docker/arr-stack/qbittorrent:/config
     - /home/ubuntu/docker/arr-stack/qbittorrent/downloads:/downloads
   depends_on:
     - gluetun
   restart: always
 jackett:
   image: lscr.io/linuxserver/jackett:latest
   container_name: jackett
   network_mode: "service:gluetun"
   environment:
     - PUID=1000
     - PGID=1000
     - TZ=Etc/UTC
     - AUTO_UPDATE=true #optional
     - RUN_OPTS= #optional
   volumes:
     - /home/ubuntu/docker/arr-stack/jackett/data:/config
     - /home/ubuntu/docker/arr-stack/jackett/blackhole:/downloads
   restart: unless-stopped
 sonarr:
   image: lscr.io/linuxserver/sonarr:latest
   container_name: sonarr
   network_mode: "service:gluetun"
   environment:
     - PUID=1000
     - PGID=1000
     - TZ=Etc/UTC
   volumes:
     - /home/ubuntu/docker/arr-stack/sonarr/data:/config
     - /home/ubuntu/docker/arr-stack/sonarr/tvseries:/tv #optional
     - /home/ubuntu/docker/arr-stack/sonarr/downloadclient-downloads:/downloads #optional
   restart: unless-stopped
 prowlarr:
   image: lscr.io/linuxserver/prowlarr:latest
   container_name: prowlarr
   network_mode: "service:gluetun"
   environment:
     - PUID=1000
     - PGID=1000
     - TZ=Etc/UTC
   volumes:
     - /home/ubuntu/docker/arr-stack/prowlarr/data:/config
   restart: unless-stopped