Document qBittorrent migration to gluetun (VPN container)
This commit is contained in:
+4
-1
@@ -155,6 +155,8 @@ All stack data volumes are stored at `/srv/docker/<stack-name>/` on each host us
|
|||||||
| Radarr | lscr.io/linuxserver/radarr:latest | 7878 | Movie automation |
|
| Radarr | lscr.io/linuxserver/radarr:latest | 7878 | Movie automation |
|
||||||
| Sonarr | lscr.io/linuxserver/sonarr:latest | 8989 | TV show automation |
|
| Sonarr | lscr.io/linuxserver/sonarr:latest | 8989 | TV show automation |
|
||||||
| Prowlarr | lscr.io/linuxserver/prowlarr:latest | 9696 | Indexer manager for Radarr/Sonarr |
|
| Prowlarr | lscr.io/linuxserver/prowlarr:latest | 9696 | Indexer manager for Radarr/Sonarr |
|
||||||
|
| gluetun | qmcgaw/gluetun:latest | 8080 (proxied) | ProtonVPN gateway — qBittorrent runs behind this |
|
||||||
|
| qBittorrent | lscr.io/linuxserver/qbittorrent:latest | 8080 | Torrent client (network_mode: service:gluetun) |
|
||||||
| FlareSolverr | ghcr.io/flaresolverr/flaresolverr:latest | 8191 | Cloudflare bypass for indexers |
|
| FlareSolverr | ghcr.io/flaresolverr/flaresolverr:latest | 8191 | Cloudflare bypass for indexers |
|
||||||
| Watchtower | containrrr/watchtower | — | Auto-updates arr-stack containers |
|
| Watchtower | containrrr/watchtower | — | Auto-updates arr-stack containers |
|
||||||
| Node Exporter | prom/node-exporter:latest | 9100 (host) | Prometheus metrics |
|
| Node Exporter | prom/node-exporter:latest | 9100 (host) | Prometheus metrics |
|
||||||
@@ -162,6 +164,8 @@ All stack data volumes are stored at `/srv/docker/<stack-name>/` on each host us
|
|||||||
|
|
||||||
Media storage is mounted at `/mnt/media` on the jellyfin host and presented as `/data` inside Radarr and Sonarr.
|
Media storage is mounted at `/mnt/media` on the jellyfin host and presented as `/data` inside Radarr and Sonarr.
|
||||||
|
|
||||||
|
**qBittorrent + gluetun (added 2026-08-07):** qBittorrent used to run natively (`qbittorrent-nox` systemd service) bound to a ProtonVPN desktop-app interface (`proton0`). When that GUI-managed tunnel dropped, qBittorrent had no way to reconnect without an interactive desktop session, silently killing all downloads. It's now containerized: `qbittorrent` runs with `network_mode: service:gluetun`, so it shares gluetun's network namespace entirely — if the VPN tunnel drops, qBittorrent has zero network access (fails closed, never falls back to the real IP) until gluetun auto-reconnects, which it does on its own. Compose file: `/srv/docker/qbittorrent/docker-compose.yml` on the jellyfin host. Uses ProtonVPN OpenVPN credentials (see API Codes.md). qBittorrent's config volume (`/srv/docker/qbittorrent/config`) also mounts the media disk at the identical path `/mnt/media` (not `/data`) so it matches Sonarr/Radarr's existing Remote Path Mapping (`/mnt/media/` → `/data/`) and the pre-existing categories (`tv-sonarr`, `movies-radarr`) and resume data needed no path rewriting during migration.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### jgpc — 192.168.88.41 — AI / Workstation Host
|
### jgpc — 192.168.88.41 — AI / Workstation Host
|
||||||
@@ -255,4 +259,3 @@ PBS has two datastores:
|
|||||||
| AI (Open WebUI) | https://ai.jgitta.com |
|
| AI (Open WebUI) | https://ai.jgitta.com |
|
||||||
| Guacamole | https://apache.jgitta.com |
|
| Guacamole | https://apache.jgitta.com |
|
||||||
| Vaultwarden | https://vault.jgitta.com |
|
| Vaultwarden | https://vault.jgitta.com |
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user