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 `` 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 ``) with actual values. Once everything is set up, you can start your Docker Compose stack with: ```bash 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. ```yaml --- 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= # 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 ```