Downloads
← Home
Services running on PCT 101 (downloads, 192.168.2.190). All standalone containers — not Swarm-managed.
Services
| Container | URL | Port | Purpose |
|---|---|---|---|
qbittorrent-mam |
qbittorrent.carr-family.org |
8080 | MyAnonamouse torrent client |
qbittorrent-vpn |
qbittorrent-vpn.carr-family.org |
8081 | VPN-routed general torrents |
gluetun-proton |
— | — | ProtonVPN gateway for qbittorrent-vpn |
qui |
qui.carr-family.org |
7476 | Multi-instance qBittorrent web UI |
Compose files on PCT 101: /root/stacks/qbittorrent-mam/docker-compose.yml, /root/stacks/bittorrent-vpn/docker-compose.yml
qbittorrent-mam
MAM (MyAnonamouse) torrent client. Image: linuxserver/qbittorrent:4.6.7.
- WebUI:
192.168.2.190:8080, creds:admin / 32Ab0321!! - Volume:
/mnt/tank/media:/data(only — bookingest accessible as/data/bookingestvia this mount; separate mount breaks hardlinks) - Config:
/mnt/tank/appdata/qbittorrent/
Tuned settings (4-core Xeon E5-1620 v2, 8 GB RAM, 1 Gbps):
max_active_downloads: 70disk_cache: 512 MBmax_connec: 1000,max_connec_per_torrent: 200
Categories
| Category | Save Path | Used By |
|---|---|---|
MAM |
/data/content/books-seeds |
Direct MAM ebook downloads |
audiobooks |
/data/content/audiobooks |
Audiobookshelf library |
books-shelfmark |
/data/bookingest (default) |
Shelfmark ebooks |
On-completion Hook
Script: /mnt/tank/appdata/qbittorrent/scripts/hardlink-to-ingest.sh — fires only for MAM category. Hardlinks by extension, preserving directory structure:
.epub/.mobi/.azw3/.pdfetc. →/data/bookingest(CWA ingest).m4b/.mp3/.m4a/.aaxetc. →/data/content/audiobooks(Audiobookshelf).cbz/.cbr/.cb7/.cbtetc. →/data/content/comics(Komga)
Hardlinks work because bookingest and books-seeds are both on the tank/media ZFS dataset.
Fixing Incorrect Save Paths
The API setLocation returns 200 but silently fails. Reliable method:
docker kill --signal SIGKILL qbittorrent-mam- Patch
qBt-savePathANDsave_pathin/mnt/tank/appdata/qbittorrent/qBittorrent/BT_backup/<hash>.fastresume - Delete all
*.fastresume.*stale backup files docker start qbittorrent-mam- Force-recheck the affected torrents
qbittorrent-vpn + gluetun-proton
VPN-routed torrents. qbittorrent-vpn uses network_mode: "service:gluetun" — both containers excluded from Watchtower (com.centurylinklabs.watchtower.enable=false).
- Compose:
/root/stacks/bittorrent-vpn/docker-compose.ymlon PCT 101 - WebUI:
192.168.2.190:8081(internal),qbittorrent-vpn.carr-family.org(external) - VPN: ProtonVPN via gluetun
qui
Multi-instance qBittorrent web UI at qui.carr-family.org. Not in Swarm — static route in routes.yml → 192.168.2.190:7476.
Instances:
qbittorrent-mam→http://192.168.2.190:8080(admin / 32Ab0321!!)qbittorrent-vpn→http://192.168.2.190:8081
