Convert the qbittorrent sections to the steps component

This commit is contained in:
Djeex
2026-09-04 14:35:26 +02:00
parent 5b4d8732e0
commit f4dc53d3cf
+41 -16
View File
@@ -5,14 +5,6 @@ description: Install qBittorrent with Gluetun and ProtonVPN to download torrents
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
# Qbittorrent
::note
🎯 __Goals:__
- Install and configure Qbittorrent
- Securely connect to the BitTorrent network using Gluetun and Proton VPN
::
![Picture](/img/serveex/qbit-vue.jpeg)
@@ -48,12 +40,17 @@ tree:
---
::
::steps{level="3"}
### Create the media folders
If not already done, create the `downloads` folder under `/media`:
```bash [Terminal]
mkdir -P /media/downloads
```
### Deploy the stack
Open Dockge, click on `compose`, and name the stack `seedbox`. Paste the following config:
```yaml [compose.yaml]
@@ -122,6 +119,8 @@ 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.
Weve added the mod `ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod` to the container.
@@ -158,6 +157,8 @@ apikey = "your_key_here" # key you just generated
Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ctrl+X"} to exit.
### Set your environment variables
In Dockge, fill in the variables in `.env`:
```properties [.env]
@@ -182,14 +183,27 @@ Detailed info:
| `ID` | Qbittorrent UI login username | `user` |
| `PW` | Qbittorrent UI password | `password` |
### Done !
::
## Deployment
::steps{level="3"}
### Deploy the container
Once done, deploy the container.
::warning
::note
**Startup logs will show a temporary password for `admin` user**
**Startup logs will show a temporary password for `admin` user.**
See logs in [Dockge](/serveex/core/docker/#dockge) to retrieve it, or type this command in a terminal:
```bash [Terminal]
docker logs qbittorrent 2>&1 | grep -i "temporary password"
```
::
### Log in and secure your account
Login at `http://server-ip:5695` (or the port you set).
::caution
@@ -199,6 +213,9 @@ __If login fails:__ check your firewall rules.
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.
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.
@@ -217,6 +234,9 @@ To start downloads from outside your home, without a VPN, you can expose the Qbi
We assume you have the subdomain `seedbox.mydomain.com` with a `CNAME` pointing to `mydomain.com` in [DNS zone](/general/networking/dns). And that port `443` on your router is forwarded to your server in [NAT rules](/general/networking/nat), unless youre using Cloudflare Zero Trust.
::
::steps{level="3"}
### Add Gluetun's network to SWAG
In Dockge, edit the SWAG compose file and add Gluetuns network:
```yaml [compose.yaml]
@@ -243,6 +263,8 @@ Click "Deploy" and wait for SWAG to fully initialize.
We assume the network name is `seedbox_default`. You can confirm by checking the SWAG dashboard at http://server-ip:81.
::
### Create the subdomain.conf file
Now create/edit `seedbox.subdomain.conf`.
::tip{icon=""}
@@ -306,6 +328,13 @@ server {
}
```
Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ctrl+X"} to exit.
### Done !
::
Wait a few minutes, then go to `https://seedbox.mydomain.com`. You should land on the Qbittorrent interface.
## 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):
@@ -382,14 +411,10 @@ server {
The `location /tinyauth` block runs inside SWAG's own container, so SWAG needs to be on TinyAuth's Docker network to reach it by name (`tinyauth` here). This should already be set up from [exposing TinyAuth itself](/serveex/security/tinyauth#exposing-tinyauth-with-swag). If you run into an error, double-check SWAG's compose file still has that network attached.
::
::tip
✨ You can secure this app with Authentik instead of TinyAuth by uncommenting the `authentik-server.conf` and `authentik-location.conf` lines. Dont forget to [create an app and provider in Authentik](/serveex/advanced/authentik#protecting-an-app-via-reverse-proxy).
::tip{icon=""}
✨ You can secure this app with [Authentik](/serveex/advanced/authentik) instead of TinyAuth by uncommenting the `authentik-server.conf` and `authentik-location.conf` lines. Dont forget to [create an app and provider in Authentik](/serveex/advanced/authentik#protecting-an-app-via-reverse-proxy).
::
Press :kbd{value="Ctrl+O"}, then :kbd{value="Enter"} to save, and :kbd{value="Ctrl+X"} to exit.
Wait a few minutes, then go to `https://seedbox.mydomain.com`. You should land on the Qbittorrent interface.
And thats it! You now have a ready-to-use media center.
![Picture](/img/serveex/seed.svg)