Add Uptime-Kuma introduction, write descriptive alt text site-wide, and fix brand capitalization and filenames with spaces

This commit is contained in:
Djeex
2026-09-07 14:35:25 +02:00
parent eff68287f2
commit 67d593cb73
90 changed files with 380 additions and 376 deletions
+15 -15
View File
@@ -1,24 +1,24 @@
---
title: Qbittorrent
title: qBittorrent
description: Install qBittorrent with Gluetun and ProtonVPN to download torrents securely behind a VPN on your self-hosted server.
---
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
![Picture](/img/serveex/qbit-vue.jpeg)
![VueTorrent web interface showing active torrent downloads](/img/serveex/qbit-vue.jpeg)
To safely download your favorite media, we'll build a system using:
- [Qbittorrent](https://github.com/linuxserver/docker-qbittorrent) as the BitTorrent client
- [qBittorrent](https://github.com/linuxserver/docker-qbittorrent) as the BitTorrent client
- [Proton VPN Plus](https://protonvpn.com/torrenting), a VPN to secure your traffic. You need a subscription (promos available) to access the BitTorrent protocol. You can also use another VPN as long as it supports BitTorrent.
- [Gluetun](https://github.com/qdm12/gluetun)
- [Qbittorrent port update](https://codeberg.org/TechnoSam/qbittorrent-gluetun-port-update) to automatically update the VPN port (which changes regularly).
- [qBittorrent port update](https://codeberg.org/TechnoSam/qbittorrent-gluetun-port-update) to automatically update the VPN port (which changes regularly).
- The [VueTorrent](https://github.com/gabe565/linuxserver-mod-vuetorrent) mod for a modern and intuitive UI.
Heres the system well set up:
![Picture](/img/serveex/qbit.svg)
![Diagram of qBittorrent routing its traffic through the Gluetun VPN tunnel](/img/serveex/qbit.svg)
## Configuration
@@ -34,7 +34,7 @@ tree:
- gluetun/
- compose.yaml
- .env
- "media # linked to Jellyfin and Qbittorrent":
- "media # linked to Jellyfin and qBittorrent":
- "downloads/ # generic downloads, selected in settings"
- "movies/ # used for downloading movies"
- "tvseries/ # used for downloading TV shows"
@@ -122,7 +122,7 @@ services:
### Configure the download port update
Before editing the `.env` in Dockge, let's configure the download port update. Proton and most VPNs rotate the forwarding port, which must be communicated to Qbittorrent.
Before editing the `.env` in Dockge, let's configure the download port update. Proton and most VPNs rotate the forwarding port, which must be communicated to qBittorrent.
Weve added the mod `ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod` to the container.
@@ -181,8 +181,8 @@ Detailed info:
| `UI_PORT` | Port for accessing the web UI | `5695` |
| `PR_KEY` | Private key from Proton | `buKsjNHLyzKMM1qYnzOy4s7SHfly` |
| `GSP_KEY` | Key you generated for port update | `MnBa47MeVmk7xiv` |
| `ID` | Qbittorrent UI login username | `user` |
| `PW` | Qbittorrent UI password | `password` |
| `ID` | qBittorrent UI login username | `user` |
| `PW` | qBittorrent UI password | `password` |
### Done!
::
@@ -217,7 +217,7 @@ Change your username and password in the "webui" settings.
### Done!
::
You're done! In Qbittorrent settings, under "Downloads", set `/media/downloads` as the default folder.
You're done! In qBittorrent settings, under "Downloads", set `/media/downloads` as the default folder.
When adding a download, remember to select the proper directory so Jellyfin can sync correctly (`/media/movies` or `/media/tvseries`). You can also automate this with categories and folders.
@@ -225,10 +225,10 @@ When adding a download, remember to select the proper directory so Jellyfin can
::warning
Qbittorrent does not support multi-factor authentication. Exposing it to the internet may put your system at risk. Only do this if you use MFA via [TinyAuth](/serveex/security/tinyauth) or [Authentik](/serveex/advanced/authentik/). Otherwise, dont expose it with SWAG. Use a VPN like [Wireguard](/serveex/core/wireguard) instead.
qBittorrent does not support multi-factor authentication. Exposing it to the internet may put your system at risk. Only do this if you use MFA via [TinyAuth](/serveex/security/tinyauth) or [Authentik](/serveex/advanced/authentik/). Otherwise, dont expose it with SWAG. Use a VPN like [WireGuard](/serveex/core/wireguard) instead.
::
To start downloads from outside your home, without a VPN, you can expose the Qbittorrent web UI.
To start downloads from outside your home, without a VPN, you can expose the qBittorrent web UI.
::note
@@ -334,9 +334,9 @@ Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ct
### Done!
::
Wait a few minutes, then go to `https://seedbox.mydomain.com`. You should land on the Qbittorrent interface.
Wait a few minutes, then go to `https://seedbox.mydomain.com`. You should land on the qBittorrent interface.
## Protecting Qbittorrent with TinyAuth
## Protecting qBittorrent with TinyAuth
Add [TinyAuth](/serveex/security/tinyauth)'s forward-auth check directly to `seedbox.subdomain.conf`, the same way as [the TinyAuth guide](/serveex/security/tinyauth#protecting-an-app-via-reverse-proxy):
```nginx [seedbox.subdomain.conf]{26-38,41-42}
@@ -418,4 +418,4 @@ The `location /tinyauth` block runs inside SWAG's own container, so SWAG needs t
And thats it! You now have a ready-to-use media center.
![Picture](/img/serveex/seed.svg)
![Diagram of the complete seedbox setup, from qBittorrent to SWAG](/img/serveex/seed.svg)