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
+1 -1
View File
@@ -16,7 +16,7 @@ As always, we'll use the [linuxserver.io image](https://docs.linuxserver.io/imag
::note{to="/serveex/core/wireguard"}
Unlike Plex, Jellyfin has no cloud relay: to access your server outside your local network, you must expose it yourself (see below), or use a VPN like **Wireguard**.
Unlike Plex, Jellyfin has no cloud relay: to access your server outside your local network, you must expose it yourself (see below), or use a VPN like **WireGuard**.
::
## Install Jellyfin
+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)
+7 -7
View File
@@ -49,7 +49,7 @@ tree:
::warning
__Warning:__ Make sure to follow this file structure carefully, especially the `media` folder. This folder must be mounted **exactly the same way** in both the _Qbittorrent_ compose file (`/your/path/media:/media`) and the _arr_ applications. If not, the _arr_ apps may not recognize the path provided by Qbittorrent and will fail to create _hardlinks_. Without hardlinks, the _arr_ apps will copy the files instead, **doubling the space used** on your storage.
__Warning:__ Make sure to follow this file structure carefully, especially the `media` folder. This folder must be mounted **exactly the same way** in both the _Qbittorrent_ compose file (`/your/path/media:/media`) and the _arr_ applications. If not, the _arr_ apps may not recognize the path provided by qBittorrent and will fail to create _hardlinks_. Without hardlinks, the _arr_ apps will copy the files instead, **doubling the space used** on your storage.
::
::steps{level="3"}
@@ -170,7 +170,7 @@ MEDIA_PATH=
|----------------|-------------------------------------------------------------------------------------------------|-------------|
| `PUID` | Set using your user info (check with `id yourusername`) | `1000` |
| `PGID` | Same as above | `1000` |
| `MEDIA_PATH` | Path to your media folder, here: `/media`. It must match the one used by Qbittorrent. | `/media` |
| `MEDIA_PATH` | Path to your media folder, here: `/media`. It must match the one used by qBittorrent. | `/media` |
::note
@@ -207,7 +207,7 @@ Create an account and choose *forms login*.
::warning
__Warning:__ If you already have movies in `movies` from Qbittorrent, do not let Radarr add them. Radarr might modify them, which could stop seeding in Qbittorrent.
__Warning:__ If you already have movies in `movies` from qBittorrent, do not let Radarr add them. Radarr might modify them, which could stop seeding in qBittorrent.
::
#### Configure Profiles
@@ -216,12 +216,12 @@ Go to *Settings > Profiles*. These are your default quality profiles. When you m
![profiles_radarr](/img/serveex/radarr1.png)
#### Add Qbittorrent
#### Add qBittorrent
In *Settings > Download Clients*, add Qbittorrent.
In *Settings > Download Clients*, add qBittorrent.
- Use your server IP as *Host* and port `5695` if following this guide.
- Provide your Qbittorrent *Username* and *Password*.
- Provide your qBittorrent *Username* and *Password*.
- Click *Test*.
- If successful, click *Save*.
@@ -389,7 +389,7 @@ It can be useful to expose Seerr if you want to send requests from outside your
::warning
Seerr has no built-in two-factor authentication. Only expose it if you're using a secure authentication solution like [TinyAuth](/serveex/security/tinyauth) or [Authentik](/serveex/advanced/authentik). Otherwise, don't expose it with SWAG, use a VPN like [Wireguard](/serveex/core/wireguard) instead.
Seerr has no built-in two-factor authentication. Only expose it if you're using a secure authentication solution like [TinyAuth](/serveex/security/tinyauth) or [Authentik](/serveex/advanced/authentik). Otherwise, don't expose it with SWAG, use a VPN like [WireGuard](/serveex/core/wireguard) instead.
::
::note