Complete the French mirror of the remaining articles

This commit is contained in:
Djeex
2026-09-05 17:55:36 +02:00
parent 1894ac7ead
commit 2e041bcfb0
11 changed files with 1928 additions and 1249 deletions
@@ -1,11 +1,16 @@
---
title: Qbittorrent
title: Qbittorrent pour Plex
description: Installer qBittorrent avec Gluetun et ProtonVPN pour télécharger des torrents de manière sécurisée derrière un VPN sur votre serveur auto-hébergé.
---
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
::note{to="/serveex/media/qbittorrent"}
C'est l'installation de la seedbox associée à Plex plutôt qu'à Jellyfin, conservée ici pour référence. Voir **Qbittorrent** pour la même installation associée à Jellyfin, l'alternative recommandée puisque Plex n'est pas entièrement auto-hébergé (son propre relais, un compte obligatoire) et enferme des fonctions derrière le paywall du Plex Pass.
::
![Picture](/img/serveex/qbit-vue.jpeg)
Afin de télécharger vos media favoris en toute sécurité, nous allons monter un système à base de :
@@ -21,23 +26,28 @@ Nous monterons ici le système ci-dessous :
![Picture](/img/serveex/qbit.svg)
## Configuration
Structure des dossiers
```text [Arborescence]
root
├── docker
│ └── seedbox
│ ├── qbittorrent
│ │ └── config
│ ├── gluetun
│ ├── compose.yaml
│ └── .env
└── media #relié à plex et Qbittorrent
├── downloads #vos téléchargements génériques, à selectionner dans les parametres
├── movies #à selectionner dans l'interface pour télécharger vos films
└── tvseries #à selectionner dans l'interface pour télécharger vos séries
```
::file-tree
---
tree:
/:
- srv:
- docker:
- seedbox:
- qbittorrent:
- config/
- gluetun/
- compose.yaml
- .env
- "media # relié à Plex et Qbittorrent":
- "downloads/ # téléchargements génériques, choisis dans les réglages"
- "movies/ # utilisé pour télécharger les films"
- "tvseries/ # utilisé pour télécharger les séries"
---
::
::steps{level="3"}
### Créer le dossier de téléchargements
Si ce n'est pas déjà fait, créez le dossier `downloads` dans `/media` :
@@ -45,7 +55,9 @@ Si ce n'est pas déjà fait, créez le dossier `downloads` dans `/media` :
mkdir -P /media/downloads
```
Ouvrez Dockge, cliquez sur `compose` et nommez la stack `seedbox`. Collez la config ci-dessous :
### Déployer la stack
Ouvrez Dockge, cliquez sur `compose`, et nommez la stack `seedbox`. Collez la configuration suivante :
```yaml [compose.yaml]
---
@@ -94,157 +106,178 @@ services:
- WIREGUARD_PRIVATE_KEY=${PR_KEY}
- SERVER_COUNTRIES=France
- PORT_FORWARD_ONLY=on
```
::tip{icon=""}
✨ __Astuce :__ ajoutez le label de watchtower dans chaque conteneur afin d'automatiser les mises à jour
✨ __Astuce :__ ajoutez le label Watchtower dans chaque conteneur pour automatiser les mises à jour
```yaml [compose.yaml]
services:
qbittorrent:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
gluetun:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```
```yaml [compose.yaml]
---
services:
qbittorrent:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
gluetun:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```
::
Avant de renseigner le `.env` dans Dockge, nous allons configurer la mise à jour du port de téléchargement. En effet, Proton, et la plupart des VPN, changent régulièrement le port de téléchargement, et celui-ci doit etre communiqué à Qbitorrent.
### Configurer la synchronisation du port
Pour ce faire, nous avons ajouté le mod `ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod` dans le conteneur.
Avant de renseigner le `.env` dans Dockge, configurons la mise à jour du port de téléchargement. Proton et la plupart des VPN font tourner le port de redirection, qui doit être communiqué à Qbittorrent.
Il faut à présent permettre au mod de récupérer l'information via Gluetun, qui n'accepte que les communications chiffrées via son API.
Nous avons ajouté le mod `ghcr.io/t-anc/gsp-qbittorent-gluetun-sync-port-mod` au conteneur.
A cet effet, ouvrez un terminal. Nous allons à présent générer une clé d'authentification :
Il faut maintenant permettre au mod de récupérer les informations de Gluetun, qui n'autorise qu'une communication chiffrée via son API.
Ouvrez un terminal pour générer la clé d'authentification :
```bash [Terminal]
sudo docker run --rm qmcgaw/gluetun genkey
```
Notez la clé. Puis créez le dossier `/srv/docker/gluetun`
Notez la clé, puis créez le dossier `/srv/docker/gluetun` :
```bash [Terminal]
sudo mkdir /srv/docker/gluetun
```
Et créez le fichier `config.toml`
Créez le fichier `config.toml` :
```bash [Terminal]
sudo nano /srv/docker/gluetun/config.toml
```
Éditez le comme suit en ajoutant la clée que vous avez générée :
Saisissez :
```toml [config.toml]
[[roles]]
name = "t-anc/GSP-Qbittorent-Gluetun-sync-port-mod"
routes = ["GET /v1/portforward"]
auth = "apikey"
apikey = "votre_clée" # clée que vous avez générée précédemment
apikey = "votre_cle_ici" # la clé que vous venez de générer
```
Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Ente"}, puis quittez avec :kbd{value="Ctrl+X"}. Rendez-vous dans Dockge, et renseignez les variables dans `.env`:
Appuyez sur :kbd{value="Ctrl+O"}, puis :kbd{value="Enter"} pour enregistrer, et :kbd{value="Ctrl+X"} pour quitter.
### Renseigner vos variables d'environnement
Dans Dockge, renseignez les variables du `.env` :
```properties [.env]
PUID=
GUID=
UI_PORT=
PR_KEY=
GSP_KEY= # la clé que vous avez générée et renseignée dans config.toml
GSP_KEY= # la clé générée et saisie dans config.toml
ID=
PW=
```
En détails :
Détail :
| Variable | Valeur | Exemples |
|-----------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------|
| `PUID`{lang=properties} | A renseigner avec les infos de votre user (trouvables via la commande `id nomdutilisateur`{lang=shell}) | `1000` |
| `GUID`{lang=properties} | A renseigner avec les infos de votre user (trouvables via la commande `id nomdutilisateur`{lang=shell}) | `1000` |
| `UI_PORT`{lang=properties} | Le port d'accès à la web ui, elle sera joignable via `http//ipduserveur:port` | `5695` |
| `PR_KEY`{lang=properties} | La ce privée fournie par Proton | `buKsjNHLyzKMM1qYnzOy4s7SHfly` |
| `GSP_KEY`{lang=properties} | Clé que vous avez générée pour la mise à jour du port | `MnBa47MeVmk7xiv` |
| `ID`{lang=properties} | username que vous utilisez pour vous logger dans l'interface de Qbittorrent | `user` |
| `PW`{lang=properties} | mot de passe que vous utilisez pour vous logger dans l'interface de Qbittorrent | `password` |
| Variable | Description | Exemple |
|------------|-------------|---------|
| `PUID` | ID utilisateur (`id votreutilisateur`) | `1000` |
| `GUID` | ID de groupe (`id votreutilisateur`) | `1000` |
| `UI_PORT` | Port d'accès à l'interface web | `5695` |
| `PR_KEY` | Clé privée fournie par Proton | `buKsjNHLyzKMM1qYnzOy4s7SHfly` |
| `GSP_KEY` | Clé générée pour la mise à jour du port | `MnBa47MeVmk7xiv` |
| `ID` | Identifiant de connexion à l'interface Qbittorrent | `user` |
| `PW` | Mot de passe de l'interface Qbittorrent | `password` |
### Terminé !
::
## Déploiement
::steps{level="3"}
### Déployer le conteneur
Une fois fait, déployez le conteneur.
::warning
**Dans les logs de lancement, vous trouverez un mot de passe temporaire pour l'utilisateur `admin`**
**Les logs de démarrage affichent un mot de passe temporaire pour l'utilisateur `admin`**
::
Loggez vous sur `http://ipduserveur:5695` (ou le port que vous avez configuré).
### Se connecter et sécuriser son compte
Connectez-vous sur `http://ipduserveur:5695` (ou le port que vous avez défini).
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
__Si la connexion échoue :__ vérifiez les règles de votre pare-feu.
::
Changez votre nom d'utilisateur et votre mot de passe dans les paramètres "webui".
Changez votre identifiant et votre mot de passe dans les réglages « webui ».
Et voilà ! Dans les paramètres de Qbittorrent, dans "téléchargements" selectionnez `/media/downloads` comme chemin par défaut pour télécharger vos media.
### Terminé !
::
Lorsque vous lancez un téléchargement, n'oubliez pas de préciser le bon répertoire de téléchargement afin que Plex puisse synchroniser correctement sa bibliothèque (`/media/movies` et `/media/tvseries`). Vous pouvez aussi l'automatiser en créant une catégorie et un répertoire associé.
C'est terminé ! Dans les réglages de Qbittorrent, section « Téléchargements », définissez `/media/downloads` comme dossier par défaut.
Lors de l'ajout d'un téléchargement, pensez à choisir le bon dossier pour que Plex se synchronise correctement (`/media/movies` ou `/media/tvseries`). Vous pouvez aussi automatiser cela avec des catégories et des dossiers.
## Exposer la webui
::warning
Qbitorrent n'utilise pas d'authentification multifacteur. Exposer Qbitorrent sur internet pourrait compromettre les machines auxquelles il est relié. Ne le faite que si vous utilisez un systeme d'authentification multifacteur comme [Authentik](/serveex/advanced/authentik). Sinon, n'exposez pas avec SWAG et utilisez plutôt un VPN comme [Wireguard](/serveex/core/wireguard).
Qbittorrent ne gère pas l'authentification multifacteur. L'exposer sur internet peut mettre votre système en danger. Ne le faites que si vous utilisez du MFA via [Authentik](/serveex/advanced/authentik/). Sinon, ne l'exposez pas avec SWAG. Utilisez plutôt un VPN comme [Wireguard](/serveex/core/wireguard).
::
Afin de lancer des téléchargement hors de chez vous, sans VPN, vous pouvez exposer la webui de Qbittorrent.
Pour lancer des téléchargements depuis l'extérieur, sans VPN, vous pouvez exposer l'interface web de Qbittorrent.
::note
Nous partons du principe que vous avez le sous-domaine `seedbox.mondomaine.fr` avec un `CNAME` qui pointe vers `mondomaine.fr` dans [zone DNS](/general/networking/dns). Et que bien sûr, [à moins que vous utilisiez Cloudflare Zero Trust](/serveex/security/cloudflare), le port `443` de votre box pointe bien sur le port `443` de votre serveur dans [les règles NAT](/general/networking/nat).
Nous partons du principe que vous avez le sous-domaine `seedbox.mondomaine.fr` avec un `CNAME` pointant vers `mondomaine.fr` dans la [zone DNS](/general/networking/dns). Et que le port `443` de votre box est redirigé vers votre serveur dans les [règles NAT](/general/networking/nat), à moins d'utiliser Cloudflare Zero Trust.
::
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Gluetun :
::steps{level="3"}
### Ajouter le réseau seedbox à SWAG
Dans Dockge, modifiez le fichier compose de SWAG et ajoutez le réseau de Gluetun :
```yaml [compose.yaml]
---
services:
swag:
container_name: # ...
# ...
networks: # Relie le conteneur au réseau custom
# ...
- seedbox # Nom du réseau déclaré dans la stack
container_name: # ...
# ...
networks:
# ...
- seedbox
networks: # Définit le réseau custom
networks:
# ...
seedbox: # Nom du réseau déclaré dans la stack
name: seedbox_default # Nom véritable du réseau externe
external: true # Précise que c'est un réseau à rechercher en externe
seedbox:
name: seedbox_default
external: true
```
Relancez la stack en cliquant sur "déployer" et patientez le temps que SWAG soit complètement opérationnel.
Cliquez sur « Deploy » et attendez que SWAG soit complètement initialisé.
::note
Ici nous partons du principe que le nom du réseau de la seedbox est `seedbox_default`. Vous pouvez vérifier que la connexion est opérationnelle en visitant le dashboard de SWAG en tapant http://ipduserveur:81.
Nous partons du principe que le nom du réseau est `seedbox_default`. Vous pouvez le confirmer en consultant le tableau de bord de SWAG sur http://ipduserveur:81.
::
Puis nous allons créer et éditer le fichier `seedbox.subdomain.conf`.
### Créer le fichier subdomain.conf
Créez ou modifiez maintenant `seedbox.subdomain.conf`.
::tip{icon="" to="/serveex/files/file-browser-quantum"}
✨ __Astuce pour les allergiques au terminal :__ vous pouvez utiliser **File Browser Quantum** pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
✨ __Astuce pour les allergiques au terminal :__ utilisez **File Browser** pour modifier les fichiers plutôt que le terminal.
::
```bash [Terminal]
sudo nano /srv/docker/swag/config/nginx/proxy-confs/seedbox.subdomain.conf
```
Copiez la configuration ci-dessous, en prenant soin de vérifier le port :
Collez la configuration suivante (vérifiez le port) :
```nginx [seedbox.subdomain.conf]
## Version 2023/12/19
@@ -296,14 +329,18 @@ server {
}
}
```
::tip{icon=""}
✨ Vous pouvez protéger cette app avec Authentik en retirant les `#` devant `include /config/nginx/authentik-server.conf;`{lang=nginx} et `include /config/nginx/authentik-location.conf;`{lang=nginx}. N'oubliez pas de [créer une application et un fournisseur dans Authentik](/serveex/advanced/authentik#protéger-une-app-par-reverse-proxy).
::tip{icon="" to="/serveex/advanced/authentik#protecting-an-app-via-reverse-proxy"}
✨ Vous pouvez sécuriser cette application avec Authentik en décommentant les lignes `authentik-server.conf` et `authentik-location.conf`. N'oubliez pas de **créer une application et un provider dans Authentik**.
::
Enregistrez avec :kbd{value="Ctrl+O"} puis :kbd{value="Ente"}, puis quittez avec :kbd{value="Ctrl+X"}.
Appuyez sur :kbd{value="Ctrl+O"}, puis :kbd{value="Enter"} pour enregistrer, et :kbd{value="Ctrl+X"} pour quitter.
Patientez quelques minutes puis tapez dans votre navigateur `https://seedbox.mondomaine.fr`, vous arriverez sur l'interface de Qbittorrent.
### Terminé !
::
Et voilà, vous avez un mediacenter pret à l'emploi !
Attendez quelques minutes, puis allez sur `https://seedbox.mondomaine.fr`. Vous devriez arriver sur l'interface de Qbittorrent.
Et voilà ! Vous avez maintenant un media center prêt à l'emploi.
![Picture](/img/serveex/seed.svg)