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
@@ -6,6 +6,11 @@ description: Ancien guide WireGuard 14 conservé à titre archivé, voir le guid
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
::note{to="/serveex/core/wireguard"}
wg-easy 15 est devenu bien plus compliqué, « not so easy » dirait-on. C'est justement pour ça que ce vieux tutoriel v14 vaut la peine d'être gardé sous le coude : c'est toujours la façon la plus simple de monter un serveur WireGuard si vous n'avez pas besoin de ce qu'apporte la nouvelle version.
::
## Introduction
L'utilisation d'un VPN permet d'accéder à distance aux ressources locales du serveur sans les exposer sur internet. C'est notamment une manière propre de sécuriser l'accès à la console SSH, plutot que d'exposer le port sur internet. C'est pouvoir se connecter à son réseau où que l'on soit, de maniere sécurisée, et de faire dialoguer des machines qui sont sur des réseaux différents.
@@ -40,34 +45,39 @@ Ainsi, sur le réseau virtuel, seules les machines directement reliées pourront
## Côté serveur
::note
📋 __A vérifier au préalable :__
📋 __À vérifier au préalable :__
- Vérifiez si le port `51820 UDP` estlibre sur votre serveur, et bien routé dans le NAT de la box `Source 51820 UDP -> Destination 51820 UDP -> Serveur`. En effet, votre serveur étant derrière votre box, le port de votre box doit etre joignable et rediriger vers le port de votre serveur connecté à votre VPN.
- Vérifiez aussi que le port `51821 TCP` est libre sur le serveur pour accéder à la web ui.
- Vérifiez que le port `51820 UDP` est disponible et correctement redirigé par votre box vers le serveur (`Source 51820 UDP -> Destination 51820 UDP -> Serveur`).
- Vérifiez que le port `51821 TCP` est disponible pour l'interface web.
::
::warning
::warning{to="https://wg-easy.github.io/wg-easy/latest/"}
__Attention :__ Cette documentation utilise la version `14` de [wg-easy](https://wg-easy.github.io/wg-easy/latest/). La version `15`comporte des breaking changes qui ne sont pas compatibles avec les configurations proposées ici.
__Attention :__ ce tutoriel utilise la version `14` de **wg-easy**. La version `15` introduit des changements incompatibles avec cette configuration.
::
Structure des dossiers
::file-tree
---
tree:
/:
- srv:
- docker:
- wg-easy:
- config:
- etc_wireguard/
- compose.yaml
- .env
---
::
```text [Arborescence]
root
└── docker
└── wg-easy
├── config
│ └── etc_wireguard
├── compose.yaml
└── .env
```
Le conteneur tourne en mode `HOST`, c'est-à-dire qu'il utilise directement la pile réseau de l'hôte.
Le conteneur sera en mode `HOST`, c'est à dire qu'il occupera les ports de votre host comme s'il n'etait pas dans un conteneur mais directement installé sur la machine, sans passer par un sous-réseau.
::steps{level="3"}
### Déployer la stack
Ouvrez Dockge, cliquez sur `compose` et nommez la stack `wg_easy`.
Ouvrez Dockge, cliquez sur `compose`, et nommez la stack `wg_easy`.
Copiez la configuration suivante :
Collez la configuration suivante :
```yaml [compose.yaml]
---
@@ -77,7 +87,7 @@ services:
env_file:
- .env
environment:
- LANG=en
- LANG=fr
- WG_HOST=${HOST}
- PASSWORD_HASH=${PW}
- WG_DEFAULT_ADDRESS=${ADDRESS}
@@ -95,22 +105,24 @@ services:
- NET_ADMIN
- SYS_MODULE
```
::tip{icon=""}
✨ __Astuce :__
✨ __Astuce :__
- Vous pouvez personnaliser le port de wireguard avec `WG_PORT` au lieu du port par defaut `51820`
- Ajoutez le label de watchtower afin d'automatiser les mises à jour
- Vous pouvez aussi indiquer votre propre port WireGuard avec `WG_PORT`
- Ajoutez le label Watchtower pour activer les mises à jour automatiques
```yaml [compose.yaml]
services:
wg-easy:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```yaml [compose.yaml]
---
services:
wg-easy:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```
::
Dans `.env` :
Dans le `.env` :
```properties [.env]
HOST=
@@ -119,81 +131,95 @@ ADDRESS=
IPS=
```
| Variable | Valeur | Exemples |
|---------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------|
| `HOST`{lang=properties} | IP publique de votre box internet (elle doit etre fixe) | `80.72.136.27` |
| `PW`{lang=properties} | Hash du mot de passe, [à générer ici](https://bcrypt-generator.com/). **ATTENTION:** doubler les `$` | `$$2a$$12$$FF6T4QqSP9Ho`|
| `ADDRESS`{lang=properties} | Plage d'adresse que le DHCP du VPN peut attribuer, le `x` doit etre présent, on peut changer les autres chiffres ou les remplacer par `x` aussi | `10.8.0.x` |
| `IPS`{lang=properties} | les IPs qui doivent etre routées par les clients vers le VPN. Dans notre cas, on veut que seul le traffic vers le serveur et clients du VPN soit routé, on veut pas de leurs réseau local et on veut conserver l'accès à internet direct sans passer par le VPN.Si vous voulez tout de meme ajouter toutes les machines connectées aux appareils en local, ajoutez la plage `192.168.0.0/16` en séparant les deux plages par une virgule. | `10.8.0.0/24` |
| Variable | Description | Exemple |
|--------------|-------------|---------|
| `HOST` | IP publique d'accès à votre hôte (l'IP de la box si c'est chez vous) | `80.75.137.27` |
| `PW` | Hash bcrypt du mot de passe, [à générer ici](https://bcrypt-generator.com/). **ATTENTION :** doublez les `$` | `$$2a$$12$$FF6T4QqSP9Ho` |
| `ADDRESS` | Plage d'adresses DHCP du VPN, le `x` doit rester, les autres chiffres peuvent varier | `10.8.0.x` |
| `IPS` | Les IP routées par les clients dans le VPN. Utilisez `10.8.0.0/24` pour ne router que le trafic du VPN. Pour inclure le réseau local, ajoutez `192.168.0.0/16` séparé par une virgule. | `10.8.0.0/24` |
Puis déployez la stack.
Déployez la stack.
### Activation du forwarding depuis l'host
### Terminé !
::
Pour que l'host autorise les clients à communiquer entre eux, vous devez activer les paramèttres suivants :
### Activer le forwarding sur l'hôte
Pour permettre la communication entre les clients du VPN, activez :
```bash [Terminal]
sudo sysctl net.ipv4.ip_forward=1
sudo sysctl net.ipv4.conf.all.src_valid_mark=1
```
### Recuperation des fichiers de conf
### Récupérer les fichiers de configuration
Afin de configurer les clients, vous devez télécharger les fichiers de conf générés par l'host :
Pour configurer les clients, téléchargez les fichiers de configuration depuis le serveur :
- Connectez vous via le web en local sur `http://ipduserveur:51821`
- Allez sur `http://ipdevotreserveur:51821`
- Créez un client
- Téléchargez le fichier de conf
- Renommez le en `wg0.conf`
- Téléchargez le fichier de configuration
- Renommez-le en `wg0.conf`
::caution
En cas d'échec, vérifiez les règles du pare-feu.
En cas d'échec, vérifiez les règles de votre pare-feu.
::
## Sur le serveur client
---
::note
Nous partons du principe que le serveur client est un serveur linux avec Docker installé
Nous partons du principe que le client est un serveur Linux avec Docker installé
::
Structure des dossiers
::file-tree
---
tree:
/:
- srv:
- docker:
- wireguard:
- config:
- wg_confs/
- compose.yaml
---
::
```text [Arborescence]
root
└── docker
└── wireguard
└── config
│ └── wg_confs
└── compose.yaml
```
::steps{level="3"}
### Créer le dossier de configuration
Creez le dossier `/srv/docker/wireguard/config/wg_confs`.
Créez le dossier `/srv/docker/wireguard/config/wg_confs` :
::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 :__ utilisez **File Browser** pour parcourir et modifier vos fichiers sans terminal
::
```bash [Terminal]
sudo mkdir -p /srv/docker/wireguard/config/wg_confs
```
Copiez le fichier` wg0.conf` téléchargé précédemment.
### Copier le fichier de configuration
Copiez le fichier `wg0.conf` téléchargé précédemment :
::tip{icon=""}
✨ __Astuce :__ Le moyen le plus simple est de transférer le fichier par sftp dans le dossier `/home/nomdutilisateur` puis de le copier dans le bon dossier :
✨ __Astuce :__ le plus simple est de transférer le fichier en SFTP dans `/home/votreutilisateur`, puis de le déplacer :
```bash [Terminal]
sudo cp ~/wg0.conf /srv/docker/wireguard/config/wg_confs
```bash [Terminal]
sudo cp ~/wg0.conf /srv/docker/wireguard/config/wg_confs
```
::
Creez le `compose.yaml` dans `/srv/docker/wireguard `:
### Déployer le conteneur
Créez le `compose.yaml` dans `/srv/docker/wireguard` :
```bash [Terminal]
sudo nano /srv/docker/wireguard/compose.yaml
```
Appuyez sur `i` pour rentrer en modification et copiez la configuration ci-dessous
Collez :
```yaml [compose.yaml]
---
services:
@@ -203,37 +229,43 @@ services:
network_mode: host
cap_add:
- NET_ADMIN
- SYS_MODULE #optional
- SYS_MODULE #facultatif
environment:
- TZ=Europe/Paris
volumes:
- /srv/docker/wireguard/config:/config
- /lib/modules:/lib/modules #optional
- /lib/modules:/lib/modules #facultatif
restart: unless-stopped
```
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.
Démarrez le conteneur :
Lancez le conteneur :
```bash [Terminal]
cd /srv/docker/wireguard
sudo docker compose up -d
```
::note
A répéter pour chaque client
Répétez pour chaque client
::
### Terminé !
::
## Autres appareils
- **Téléphone :** installer wireguard et scanner le QR code via le webui (http://ipduserveur:51821)
- **PC :** Installer wireguard client et mettre directement le fichier de conf téléchargé via le webui
- **Téléphone :** installez Wireguard et scannez le QR code depuis l'interface web (`http://ipdevotreserveur:51821`)
- **PC :** installez le client Wireguard et importez le fichier de configuration
::warning
__Attention :__ Si des machines clientes sont sur le meme réseau local que le serveur (derriere la box), éditez le fichier `wg0.conf` uploadé sur cette machine en changeant avec l'adresse locale du serveur : `Endpoint = ipduserveur:51820`{lang=properties}
__Attention :__ si un appareil client est sur le même réseau local que le serveur, modifiez `wg0.conf` et remplacez l'endpoint par l'IP locale du serveur :
`Endpoint = ip-de-votre-serveur:51820`
::
Et voilà ce que cela peut donner !
Et voici le résultat :
![picture](/img/serveex/wireguard.svg)
+109 -79
View File
@@ -1,53 +1,67 @@
---
title: Plex
description: Installer Plex Media Server avec Tautulli sur votre homelab pour streamer films et séries depuis n'importe où sur tous vos appareils.
description: Installer Plex Media Server avec Tautulli sur votre homelab pour diffuser films et séries depuis n'importe où sur tous vos appareils.
---
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
[Plex](https://www.plex.tv/fr/) est une plateforme de streaming vidéo déployable chez vous, pour manager votre bibliothèque de films ou de série, et les lire en locale ou à distance. Plex dispose d'applications TV, Android, iOS, Window et Mac OS, permettant la lecture de vos bibliothèques, à la Netflix.
::note{to="/serveex/media/jellyfin"}
Avec le *plexpass*, vous pouvez également organsier et lire vos contenus audio, à la spotify, la différence étant que c'est bien votre contenu qui est hébergé et lu depuis chez vous.
C'est une alternative à **Jellyfin**, conservée ici pour référence. Plex n'est pas entièrement auto-hébergé : même la lecture locale passe par le relais de Plex et exige un compte Plex, et plusieurs fonctions sont derrière le paywall du Plex Pass.
::
[Plex](https://www.plex.tv/fr/) est une plateforme de streaming vidéo auto-hébergée pour gérer votre bibliothèque de films ou de séries et les lire en local ou à distance. Plex propose des applications pour TV, Android, iOS, Windows et macOS, permettant de diffuser votre bibliothèque comme sur Netflix.
Avec le *Plex Pass*, vous pouvez aussi organiser et écouter votre musique à la manière de Spotify, à la différence que c'est votre contenu, hébergé et diffusé depuis votre serveur.
![picture](/img/serveex/plex.png)
On installera également [Tautulli](https://docs.linuxserver.io/images/docker-tautulli/), un outil qui permet d'avoir des stats poussées sur Plex. On utilisera, comme dès qu'on le peut, les images de linuxserver.io.
Nous installerons également [Tautulli](https://docs.linuxserver.io/images/docker-tautulli/), un outil qui fournit des statistiques détaillées sur Plex. Comme toujours, nous utiliserons les images linuxserver.io quand c'est possible.
- [Plus d'info sur le conteneur Plex](https://docs.linuxserver.io/images/docker-plex)
- [Plus d'info sur le conteneur Tautulli](https://docs.linuxserver.io/images/docker-tautulli/)
- [Plus d'infos sur le conteneur Plex](https://docs.linuxserver.io/images/docker-plex)
- [Plus d'infos sur le conteneur Tautulli](https://docs.linuxserver.io/images/docker-tautulli/)
::note
Vous serez amenés à creer un compte *Plex.tv*. Vous n'avez pas besoin d'exposer votre service Plex, il sera accessible directement par la plateforme. Votre serveur Plex sera gérable directement depuis votre compte.
Vous devrez créer un compte *Plex.tv*. Vous n'avez pas besoin d'exposer votre service Plex, il sera accessible via la plateforme. Votre serveur Plex sera pilotable directement depuis votre compte.
::
## Installer Plex
Structure des dossiers :
```text [Arborescence]
root
├── docker
│ ├── plex
│ │ ├── compose.yml
│ │ ├── .env
│ │ ├── config
│ │ └── transcode
│ └── tautulli
│ └── config
└── media
├── tvseries
├── movies
└── library
```
Créez les dossiers `movies`, `tvseries` et `library` dans /media :
::file-tree
---
tree:
/:
- srv:
- docker:
- plex:
- compose.yml
- .env
- config/
- transcode/
- tautulli:
- config/
- media:
- tvseries/
- movies/
- library/
---
::
::steps{level="3"}
### Créer les dossiers média
Créez les dossiers `movies`, `tvseries` et `library` dans `/media` :
```bash [Terminal]
mkdir -p /media/movies /media/library /media/tvseries
```
Ouvrez Dockge dans votre navigeateur, et cliquez sur `compose`.
Nommez la stack `plex` et ajoutez la config suivante :
### Déployer la stack
Ouvrez Dockge dans votre navigateur et cliquez sur `compose`.
Nommez la stack `plex` et ajoutez la configuration suivante :
```yaml [compose.yaml]
---
@@ -86,82 +100,93 @@ services:
```
::tip{icon=""}
✨ Ajoutez le label de watchtower dans chaque conteneur afin d'automatiser les mises à jour
✨ Ajoutez le label Watchtower à chaque conteneur pour automatiser les mises à jour :
```yaml [compose.yaml]
services:
plex:
#...
labels:
```yaml [compose.yaml]
---
services:
plex:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
- com.centurylinklabs.watchtower.enable=true
tautulli:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```
tautulli:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```
::
Trouvez votre PUID et votre GUID en tapant la commande suivante :
### Renseigner vos variables d'environnement
Trouvez vos PUID et GUID en lançant :
```bash [Terminal]
id nomdutilisateur
id utilisateur
```
Et renseignez le `.env` avec les infos que vous avez trouvées, par exemple :
Remplissez votre fichier `.env` avec les valeurs récupérées, par exemple :
```properties [.env]
PUID=1000
GUID=1000
```
Déployez la stack.
L'interface locale est disponible via `http://ipduserveur:32400/web/index.html`. L'interface de Tautulli est joignable via `http://ipduserveur:8181`.
L'interface locale est disponible sur `http://ipdevotreserveur:32400/web/index.html`.
Tautulli est accessible sur `http://ipdevotreserveur:8181`.
::warning
::warning{to="https://support.plex.tv/articles/200288586-installation/#toc-2"}
Vous devez impérativement être sur votre réseau local au moment du premier setup de Plex, sans quoi l'url vous renverra sur votre compte Plex sans detecter votre serveur. Un VPN ne vous sauvera pas. Si vous ne pouvez pas faire autrement, [vous pouvez rer l'installation à distance via un tunnel SSH](https://support.plex.tv/articles/200288586-installation/#toc-2).
Vous devez être sur votre réseau local pendant la configuration initiale de Plex. Sinon, l'URL redirigera vers votre compte Plex sans détecter votre serveur. Un VPN n'y changera rien. Si vous n'avez pas le choix, **vous pouvez faire la configuration à distance via un tunnel SSH**.
::
### Terminé !
::
## Paramétrer Plex
Plex propose tout une gamme de film/série gratuitement. Après avoir créé votre compte, et pour ne pas polluer votre bibliothèque, je vous conseille de tout désactiver dans la section _Services en ligne_.
Plex propose une série de films et de séries gratuits. Après avoir créé votre compte, je vous conseille de tout désactiver dans la section _Services en ligne_ pour garder une bibliothèque propre.
Ensuite rendez-vous dans la section _Accès à distance_ et choisissez un port manuellement (ici cela sera `1234`). Il est préférable de ne pas garder le port d'origine.
Allez ensuite dans la section _Accès à distance_ et choisissez manuellement un port (nous prendrons `1234`). Mieux vaut ne pas utiliser le port par défaut.
![picture](/img/serveex/plex-port.png)
- Sur votre routeur, redirigez le port `TCP` source `1234` vers le port `32400`, vers l'IP de votre serveur via [les règles NAT](/general/networking/nat).
- Une fois fait, retournez dans Plex afin de vérifier que la connexion est bien opérationnelle
- Sur votre box, redirigez le port TCP `1234` vers le port `32400` de l'IP de votre serveur avec les [règles NAT](/general/networking/nat).
- Une fois fait, retournez dans Plex pour vérifier que l'accès à distance fonctionne.
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu et autorisez le port `32400` de votre serveur.
**Si ça ne marche pas :** vérifiez les règles de votre pare-feu et autorisez le port `32400` sur votre serveur.
::
- Si vous avez un abonnement PlexPass et un GPU ou iGPU, activez *l'accélération matérielle* dans la section _Transcodeur_.
- Dans la section _Réglages/bibliothèque_, cochez _Analyser ma bibliothèque automatiquement_.
- Dans la section _Gérer/bibliothèque_ modifiez ou ajouter les bibliothèque, et choisissez le répertoire `/media/movies` pour les films et `/media/tvseries` pour les séries.
- Si vous avez le PlexPass et un GPU ou iGPU, activez l'*accélération matérielle* dans la section _Transcodeur_.
- Dans _Paramètres > Bibliothèque_, activez _Mettre à jour ma bibliothèque automatiquement_.
- Dans _Gérer > Bibliothèque_, ajoutez ou modifiez les bibliothèques en pointant `/media/movies` pour les films et `/media/tvseries` pour les séries.
Et voilà, vous avez un Plex fonctionnel !
Et voilà ! Vous avez un serveur Plex fonctionnel !
Vous n'avez plus qu'a remplir les dossiers `/media/movies` et `/media/tvseries` sur votre serveur de vos média favoris. Vous pourrez alors télécharger l'application Plex sur vos appareils et lire vos média favoris, chez vous ou à distance !
Ajoutez simplement vos médias dans `/media/movies` et `/media/tvseries` sur votre serveur. Vous pouvez ensuite installer l'application Plex sur vos appareils et regarder vos contenus préférés en local ou à distance.
::note
::note{to="/general/networking/samba"}
Si pour stocker vos média vous utilisez un disque réseau (par exemple un stockage sur un NAS ou un disque dur externe branché ailleurs sur le réseau), veuillez consulter la section [montage samba](/general/networking/samba) afin que Plex puisse y accéder.
Si vos médias sont stockés sur un disque réseau (un NAS ou un disque dur externe accessible par le réseau), reportez-vous au **guide de montage Samba** pour que Plex puisse y accéder.
::
## Exposer Tautulli avec Swag
Plex n'a pas besoin d'etre exposé, étant joignable directement depuis votre compte Plex sur plex.tv.
Vous n'avez pas besoin d'exposer Plex, il est accessible via votre compte Plex sur plex.tv.
En revanche, vous voudrez peut-être exposer Tautulli pour consulter vos statistiques depuis une simple URL quand vous n'êtes pas chez vous.
En revanche, vous pouvez désirer exposer Tautulli, afin d'accéder aux stats même si vous n'est pas chez vous, depuis une simple url.
::note
Nous partons du principe que vous avez le sous-domaine `tautulli.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 `tautulli.mondomaine.fr` avec un `CNAME` pointant vers `mondomaine.fr` dans votre [zone DNS](/general/networking/dns). Et bien sûr, [à moins d'utiliser Cloudflare Zero Trust](/serveex/security/cloudflare), le port `443` de votre box doit être redirigé vers le port `443` de votre serveur dans les [règles NAT](/general/networking/nat).
::
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau de Tautulli :
::steps{level="3"}
### Ajouter le réseau de Tautulli à SWAG
Allez dans Dockge et modifiez le fichier compose de SWAG en y ajoutant le réseau de Tautulli :
```yaml [compose.yaml]
---
@@ -169,28 +194,30 @@ services:
swag:
container_name: # ...
# ...
networks: # Relie le conteneur au réseau custom
networks: # Rattache le conteneur au réseau personnalisé
# ...
- tautulli # Nom du réseau déclaré dans la stack
- tautulli # Nom du réseau déclaré
networks: # Définit le réseau custom
networks: # Définit le réseau personnalisé
# ...
tautulli: # Nom du réseau déclaré dans la stack
name: tautulli_default # Nom véritable du réseau externe
external: true # Précise que c'est un réseau à rechercher en externe
tautulli: # Nom du réseau déclaré
name: tautulli_default # Nom réel du réseau externe
external: true # Le marque comme défini à l'extérieur
```
Relancez la stack en cliquant sur "déployer" et patientez le temps que SWAG soit complètement opérationnel.
Redéployez la stack et attendez que SWAG soit pleinement opérationnel.
::note
Ici nous partons du principe que le nom du réseau de Tautulli est `tautulli_default`. Vous pouvez vérifier que la connexion est opérationnelle en visitant le dashboard de SWAG en tapant `http://ipduserveur:81`.
Nous partons ici du principe que le nom du réseau de Tautulli est `tautulli_default`. Vous pouvez vérifier la connexion en visitant le tableau de bord de SWAG sur `http://ipdevotreserveur:81`.
::
Copiez en renommant le fichier `tautulli.subdomain.conf.sample` en `tautulli.subdomain.conf` et éditez le :
### Créer le fichier subdomain.conf
Copiez et renommez le fichier `tautulli.subdomain.conf.sample` en `tautulli.subdomain.conf`, puis modifiez-le :
::tip{icon="" to="/serveex/files/file-browser-quantum"}
__Astuce :__ vous pouvez utiliser **File Browser Quantum** pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
**Astuce :** utilisez **File Browser** pour naviguer et modifier vos fichiers plutôt que des commandes dans le terminal.
::
```bash [Terminal]
@@ -198,7 +225,7 @@ sudo cp /srv/docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf.sample
sudo nano /srv/docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
```
Et vérifiez que la configuration correspond bien à ceci, sinon éditez le fichier :
Vérifiez que la configuration correspond à ce qui suit, et modifiez-la si nécessaire :
```nginx [tautulli.subdomain.conf]
## Version 2023/05/31
@@ -279,17 +306,20 @@ 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 protéger cette application avec Authentik en retirant le `#` devant `include /config/nginx/authentik-server.conf;` et `include /config/nginx/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 `http://tautulli.mondomaine.fr`.
### Terminé !
::
Attendez quelques minutes, puis ouvrez `http://tautulli.mondomaine.fr` dans votre navigateur.
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
**Si ça ne marche pas :** vérifiez les règles de votre pare-feu.
::
Et voilà !
Et c'est terminé !
@@ -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)
@@ -1,61 +1,70 @@
---
title: Automatisation
description: Automatiser les téléchargements de médias avec la suite Servarr, Radarr, Sonarr, Bazarr, Prowlarr et Overseerr pour films et séries.
title: Servarr pour Plex
description: Automatiser les téléchargements de médias avec la suite Servarr, Radarr, Sonarr, Bazarr, Prowlarr et Overseerr pour les films et les séries.
---
:ellipsis{left=0px width=40rem top=10rem blur=140px zIndex=60}
[Servarr](https://wiki.servarr.com/) est une collection d'applications développées dans le but d'automatiser le téléchargement, la mise à jour et la gestions des media. Ici nous allons porter notre attention sur les films et séries avec comme objectif :
::note{to="/serveex/media/servarr"}
- Pouvoir choisir un film dans un catalogue via une interface web
- N'avoir plus rien à faire à part en profiter quelques minutes plus tard sur Plex
C'est la stack Servarr câblée pour Plex plutôt que pour Jellyfin, conservée ici pour référence. Voir **Automatisation** pour la même stack 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.
::
[Servarr](https://wiki.servarr.com/) est une suite d'applications conçues pour automatiser le téléchargement, la mise à jour et la gestion des médias. Ici, nous nous concentrerons sur les films et les séries avec pour objectif :
- Choisir un film dans un catalogue via une interface web.
- Se poser dans son canapé et le regarder sur Plex quelques minutes plus tard.
Simple.
![arr](/img/serveex/arr.svg)
Je vous propose de déployer la stack puis nous verrons par la suite la configuration de chacune des apps et leur fonctionnement.
Nous commencerons par déployer la stack, puis nous configurerons chaque application et verrons comment elles fonctionnent.
## Installer les apps
### Docker compose
Structure des dossiers :
```text [Arborescence]
root
├── docker
│ ├── plex
│ │ ├── compose.yml
│ │ ├── config
│ │ └── transcode
│ ├── tautulli
│ │ └── config
│ ├── sonarr
│ │ └── config
│ ├── radarr
│ │ └── config
│ ├── bazarr
│ │ └── config
│ ├── prowlarr
│ │ └── config
│ └── overseerr
│ └── config
└── media
├── downloads
├── tvseries
├── movies
└── library
```
::file-tree
---
tree:
/:
- srv:
- docker:
- plex:
- compose.yml
- config/
- transcode/
- tautulli:
- config/
- sonarr:
- config/
- radarr:
- config/
- bazarr:
- config/
- prowlarr:
- config/
- overseerr:
- config/
- media:
- downloads/
- tvseries/
- movies/
- library/
---
::
::warning
__Attention :__ Respectez bien ce type de structure de fichier, notamment le dossier `media`. Ce dossier doit etre monté de la même manière dans les compose de _Qbittorrent_ (`/votre/chemin/media:/media`) et des _arr_. Sans cela, les _arr_ risquent de ne pas trouver le chemin fourni par Qbittorrent et de ne pas créer de _hardlinks_. Sans hardlink, les _arr_ copieront les films et cela doublera l'espace utilisé sur votre stockage.
__Attention :__ respectez bien cette structure de fichiers, en particulier le dossier `media`. Ce dossier doit être monté **exactement de la même façon** dans le fichier compose de _Qbittorrent_ (`/votre/chemin/media:/media`) et dans les applications _arr_.
Sinon, les applications _arr_ risquent de ne pas reconnaître le chemin fourni par Qbittorrent et ne créeront pas de _hardlinks_.
Sans hardlinks, les applications _arr_ copieront les fichiers, ce qui **doublera l'espace utilisé** sur votre stockage.
::
Ouvrez dockge et votre stack `plex`. Modifiez le compose comme ceci :
::steps{level="3"}
### Déployer la stack
Ouvrez Docker et votre stack `plex`. Modifiez le fichier compose comme suit :
```yaml [compose.yaml]
---
services:
@@ -91,7 +100,7 @@ services:
ports:
- 8181:8181
restart: unless-stopped
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
@@ -154,7 +163,7 @@ services:
container_name: bazarr
restart: unless-stopped
environment:
- PUID=1000
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
volumes:
@@ -165,25 +174,26 @@ services:
```
::tip{icon=""}
✨ Ajoutez le label de watchtower dans chaque conteneur afin d'automatiser les mises à jour
✨ Ajoutez le label Watchtower à chaque conteneur pour automatiser les mises à jour
```yaml [compose.yaml]
services:
plex:
#...
labels:
```yaml [compose.yaml]
---
services:
plex:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
- com.centurylinklabs.watchtower.enable=true
tautulli:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```
tautulli:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
```
::
Renseignez le `.env` avec les variables ci-dessous
### Renseigner vos variables d'environnement
Renseignez votre fichier `.env` avec les variables ci-dessous :
```properties [.env]
PUID=
@@ -191,202 +201,227 @@ GUID=
MEDIA_PATH=
```
| 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` |
| `MEDIA_PATH`{lang=properties} | le chemin vers votre dossier media, ici : `/media`. Attention, il doit correspondre aussi à celui qu'utilise Qbittorrent. | `/media` |
| Variable | Description | Exemple |
|----------------|-------------------------------------------------------------------------------------------------|-------------|
| `PUID` | À renseigner avec vos informations utilisateur (à vérifier avec `id votreutilisateur`) | `1000` |
| `GUID` | Idem | `1000` |
| `MEDIA_PATH` | Chemin de votre dossier média, ici `/media`. Il doit correspondre à celui utilisé par Qbittorrent. | `/media` |
Déployez la stack.
### Paramétrer Radarr
Radarr est une app qui permet de requêter à votre place vos sources de torrent et de définir quel type de release vous souhaitez télécharger en priorité. Radarr permet aussi de mettre à jour vos films si une meilleure version est disponible.
### Terminé !
::
Maintenant que vous avez déployé la stack, vous pouvez vous rendre sur `http://ipduserveur:7878`.
### Paramétrer Radarr
Radarr interroge vos sources torrent et permet de définir le type de releases à privilégier. Il peut aussi mettre à niveau vos films si une meilleure version est disponible.
Une fois déployé, allez sur `http://ipdevotreserveur:7878`.
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
::
Créez vous un compte, choisissez bien *forms login*.
Créez un compte et choisissez *forms login*.
##### Ajouter un *root folder*
::steps{level="4"}
#### Ajouter un *root folder*
- Dans le menu à gauche, cliquez sur *Settings > Media Management*.
- Ajoutez un *root folder*, choisisez `/media/movies`
- Allez dans *Settings > Media Management*.
- Ajoutez un root folder et sélectionnez `/media/movies`.
::warning
__Attention :__ Si vous avez déjà des films dans `movies` issus de Qbittorrent, ne les ajoutez pas dans Sonarr si ce dernier vous le propose. Radarr risque de les modifier ce qui entrainerait l'arrêt du seed par Qbittorrent.
__Attention :__ si vous avez déjà des films dans `movies` provenant de Qbittorrent, ne laissez pas Radarr les ajouter. Radarr pourrait les modifier, ce qui interromprait le seed dans Qbittorrent.
::
##### Configurer les profils
#### Configurer les profils
Dans le menu *Settings > Profiles*, vous trouverez les profils par défaut de Radarr. Comprendre que lorsque vous faites une requete, vous demandez un de ces profils. Ainsi, radarr va chercher en priorité le parametre le plus élevé, puis s'il ne trouve pas, il va passer à celui d'en dessous etc. Vous pouvez par exemple régler comme ceci pour le profile "any", en décochant tout sauf ce qui est sur l'image, et en les mettant dans le même ordre. Avec ce profil "any", Radarr va chercher en priorité du 4K REMUX (meilleure qualité), puis s'il ne trouve pas, il va passer au critère du dessous.
Allez dans *Settings > Profiles*. Ce sont vos profils de qualité par défaut. Quand vous faites une demande, vous en choisissez un. Par exemple, configurez le profil « any » en décochant tout sauf ce qui apparaît sur l'image, et en les ordonnant en conséquence. Radarr cherchera ainsi d'abord du 4K REMUX, puis descendra dans la liste si ce n'est pas disponible.
![profiles_radarr](/img/serveex/radarr1.png)
##### Ajouter Qbittorrent
#### Ajouter Qbittorrent
Dans *Settings > Downloads Clients* vous allez ajouter Qbittorrent.
Dans *Settings > Download Clients*, ajoutez Qbittorrent.
- Renseignez le *Host* avec l'IP de votre serveur et précisez le port de la webui, si vous avez suivi mon tuto c'est le `5695`.
- Renseignez le *Username* et le *Password* de votre interface Qbittorrent.
- Cliquez sur *test*.
- Si tout est ok, cliquez sur *save*.
- Utilisez l'IP de votre serveur comme *Host* et le port `5695` si vous suivez ce guide.
- Renseignez vos *Username* et *Password* Qbittorrent.
- Cliquez sur *Test*.
- Si le test réussit, cliquez sur *Save*.
##### Connecter à Plex
#### Connecter à Plex
Dans *Settings > Connect*, ajoutez une nouvelle connexion, choisissez *Plex Media Server*.
Allez dans *Settings > Connect*, ajoutez une nouvelle connexion et choisissez *Plex Media Server*.
- Dans *Host* mettez `plex` ou l'adresse IP de votre serveur.
- Dans port mettez `32400`.
- Cliquez sur le bouton bleu "authenticate with Plex.tv" et authentifiez vous avec votre compte Plex.
- Appuyez sur le bouton *test*.
- Si tout est ok, appuyez sur le bouton *save*.
- Utilisez `plex` ou l'IP de votre serveur comme *Host*.
- Port : `32400`
- Cliquez sur le bouton bleu « authenticate with Plex.tv » et connectez-vous à Plex.
- Cliquez sur *Test*, puis sur *Save* si le test réussit.
##### Récupérer la clé API pour Prowlarr et Overserr
#### Récupérer la clé API pour Prowlarr et Overseerr
- Dans *Settings > General*, copiez la *API Key* et notez la précieusement.
- Allez dans *Settings > General* et copiez votre *API Key* pour plus tard.
#### Terminé !
::
### Paramétrer Sonarr
Sonarr est une app qui permet de requêter à votre place vos sources de torrent et de définir quel type de release vous souhaitez télécharger en priorité. Radarr permet aussi de mettre à jour vos séries si une meilleure version est disponible.
- Rendez-vous sur `http://ipduserveur:8989`.
- Suivez exactement les mêmes étapes que pour Radarr, et en *root folder* mettez `/media/tvseries`.
Sonarr interroge les sources torrent et définit le type de releases de séries à privilégier. Il met aussi à niveau les séries quand de meilleures versions sont disponibles.
- Allez sur `http://ipdevotreserveur:8989`.
- Suivez les mêmes étapes que pour Radarr, mais avec `/media/tvseries` comme root folder.
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
::
### Paramétrer Prowlarr
Prowlarr est un proxy qui permet de gérer vos sources de torrents et de les passer à Radarr et Sonarr.
Rendez-vous sur `http://ipduserveur:9696` et créez vous un compte en choisissant bien *forms login*.
Prowlarr sert de proxy pour gérer vos indexeurs torrent et les relier à Radarr et Sonarr.
Allez sur `http://ipdevotreserveur:9696` et créez un compte, en utilisant *forms login*.
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
::
##### Ajouter une source
::steps{level="4"}
#### Ajouter une source
- Dans la section *Indexers*, ajoutez l'indexer de votre source de torrent.
- Allez dans la section *Indexers* et ajoutez votre indexeur torrent.
##### Ajouter Radarr et Sonarr
#### Ajouter Radarr et Sonarr
Dans la section *Settings > Apps*, ajoutez Radarr et Sonarr avec les informations ci-dessous :
Dans *Settings > Apps*, ajoutez Radarr et Sonarr avec les informations suivantes :
- Prowlarr Server : `http://prowlarr:9696` (ou remplacez prowlarr par l'IP de votre serveur)
- Sonarr / Radarr Server : `http://sonarr:8989` ou `http://radarr:7878`(ou remplacez sonarr/radarr par l'IP de votre serveur)
- API Key, la clé que vous avez notée pour Radarr et celle de Sonarr.
- Appuyez sur *Test*.
- Si tout va bien, appuyez sur *Save*.
- Serveur Prowlarr : `http://prowlarr:9696` (ou l'IP du serveur)
- Serveur Sonarr / Radarr : `http://sonarr:8989` ou `http://radarr:7878`
- API Key : celle copiée depuis Radarr et Sonarr.
- Cliquez sur *Test*, puis sur *Save* si tout se passe bien.
#### Terminé !
::
### Paramétrer Bazarr
Bazarr est une app qui permet de chercher automatiquement les bons sous-titre dans les langues souhaitez pour tout les films et séries que Radarr et Sonarr ajoutent pour vous.
Bazarr est une application qui recherche automatiquement les bons sous-titres, dans les langues de votre choix, pour tous les films et séries ajoutés par Radarr et Sonarr.
Rendez-vous sur `http://ipduserveur:6767`.
Allez sur `http://ipdevotreserveur:6767`.
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
::
Rendez-vous dans *Settings > General* et créez un identifiant et un mot de passe en utilisant le *forms login*.
Allez dans *Settings > General* et créez un identifiant et un mot de passe en utilisant *forms login*.
::steps{level="4"}
#### Ajouter un profil de langage
- Dans *Settings > Languages* cliquez sur le bouton rose *Add new profile* et nommez le.
- Cliquez sur le bouton rose *Add Languages* et ajoutez les langues que vous souhaitez, par exemple *French* et *English*.
- Sauvegardez et quittez.
- En bas de l'ecran dans *Default Language For Newly Added Show*, cochez les deux cases et renseignez le profil que vous venez de créer.
- Dans *Settings > Languages*, cliquez sur le bouton rose *Add new profile* et nommez-le.
- Cliquez sur le bouton rose *Add Languages* et ajoutez vos langues préférées, par exemple *French* et *English*.
- Enregistrez et quittez.
- En bas de l'écran, sous *Default Language For Newly Added Show*, cochez les deux cases et sélectionnez le profil que vous venez de créer.
![Bazarr](/img/serveex/bazarr2.png)
- Enregistrez avec le bouton tout en haut de l'écran.
- Enregistrez avec le bouton en haut de l'écran.
#### Ajouter des fournisseurs de sous-titre
#### Ajouter des fournisseurs de sous-titres
- Dans *Settings > Providers*, ajoutez vos fournisseurs favoris, comme par exemple :
- Dans *Settings > Providers*, ajoutez vos fournisseurs préférés, par exemple :
![Bazarr](/img/serveex/bazarr.png)
- Enregistrez avec le bouton tout en haut de l'écran.
- Enregistrez avec le bouton en haut de l'écran.
#### Ajouter Radarr et Sonarr
- Rendez-vous dans *Settings > Sonarr*
- Dans *Adress*, mettez `sonarr` ou l'adresse IP du serveur.
- Dans *Port* mettez `8989`.
- Dans *API Key* mettez la clé API de Sonarr.
- Allez dans *Settings > Sonarr*
- Dans *Address*, saisissez `sonarr` ou l'adresse IP de votre serveur.
- Dans *Port*, saisissez `8989`.
- Dans *API Key*, saisissez la clé API de Sonarr.
- Cliquez sur *Test*.
- Enregistrez avec le bouton tout en haut de l'écran.
- Enregistrez avec le bouton en haut de l'écran.
Faites de même avec Radarr.
Répétez les mêmes étapes pour Radarr.
#### Terminé !
::
### Paramétrer Overseerr
[Overseerr](https://overseerr.dev/) est une application qui permet de naviguer dans un catalogue de film et de faire des requetes à Sonarr et à Radarr. Il suffit de naviguer dans les films ou séries, puis de cliquer sur *Demander*, et le film ou la série sera automatiquement téléchargée selon les paramètres de Radarr ou de Sonarr. Si le film ou la série n'est pas sortie, cela sera automatiquement téléchargé lorsque cela sera disponible. Ainsi, les épisodes d'une séerie arrivent automatiquement au fur et à mesure dans Plex sans aucune intervention manuelle.
[Overseerr](https://overseerr.dev/) est une application qui permet de parcourir un catalogue de films et d'envoyer des demandes à Sonarr et Radarr. Parcourez les films ou séries, cliquez sur *Request*, et le média sera automatiquement téléchargé selon vos réglages Radarr ou Sonarr. Si le titre n'est pas encore sorti, il sera téléchargé automatiquement dès sa disponibilité. Ainsi, les épisodes d'une série apparaissent dans Plex sans aucune intervention manuelle.
![Overseerr](/img/serveex/overseerr.webp)
Rendez-vous sur `http://ipduserveur:5055` et authentifiez vous avec votre compte Plex.
Allez sur `http://ipdevotreserveur:5055` et connectez-vous avec votre compte Plex.
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
::
#### Ajouter Radarr et Sonarr
::steps{level="4"}
#### Ajouter Radarr
Lorsque cela vous est demandé, ajoutez un serveur radarr :
Quand la question est posée, ajoutez un serveur Radarr :
- Cochez *serveur par défaut*.
- __Nom du serveur :__ Radarr
- __Nom d'hôte ou adresse IP :__ `radarr` ou l'adresse IP de votre serveur
- __Port :__ `7878`.
- __Clé d'API :__ la clé API de Radarr.
- Cliquez sur *Tester* en bas.
- Cochez *Default server*.
- __Server name :__ Radarr
- __Hostname or IP address :__ `radarr` ou l'IP de votre serveur
- __Port :__ `7878`
- __API Key :__ la clé API de Radarr
- Cliquez sur *Test* en bas.
Si tout va bien, continuez à renseigner les champs.
Si le test réussit, continuez de remplir les champs :
- __Profil de qualité :__ celui que vous avez configuré (par exemple, `any`).
- __Dossier racine :__ le dossier de plex. Dans nos exemples : `/media/movies`.
- __Disponibilité minimale :__ `Annoncé`. Ainsi, si un film n'est pas sorti, vous pouvez le demander et il sera automatiquement récupéré à sa sortie.
- Cochez les 3 cases du bas.
- Sauvegardez et continuez.
- __Quality Profile :__ celui que vous avez configuré (par exemple `any`)
- __Root Folder :__ le dossier Plex. Dans nos exemples : `/media/movies`
- __Minimum Availability :__ `Announced`. Cela permet de demander des contenus non sortis et de les télécharger dès leur sortie.
- Cochez les 3 cases en bas.
- Enregistrez et continuez.
Puis faites de même avec Sonarr :
#### Ajouter Sonarr
- Cochez *serveur par défaut*.
- __Nom du serveur :__ Radarr
- __Nom d'hôte ou adresse IP :__ `sonarr` ou l'adresse IP de votre serveur
- __Port :__ `8989`.
- __Clé d'API :__ la clé API de Sonarr.
- Cliquez sur *Tester* en bas.
Faites maintenant de même pour Sonarr :
Si tout va bien, continuez à renseigner les champs.
- Cochez *Default server*.
- __Server name :__ Sonarr
- __Hostname or IP address :__ `sonarr` ou l'IP de votre serveur
- __Port :__ `8989`
- __API Key :__ la clé API de Sonarr
- Cliquez sur *Test* en bas.
- __Profil de qualité :__ celui que vous avez configuré (par exemple, `any`).
- __Dossier racine :__ le dossier de plex. Dans nos exemples : `/media/tvseries`.
- __Profil de langue :__ `Deprecated`.
- Cochez les 4 cases du bas.
- Sauvegardez et continuez.
Si le test réussit, continuez de remplir les champs :
Et voilà ! Vous n'avez plus qu'à faire une demande d'un film et d'une serie, puis de vérifier dans qbittorrent ou dans radarr/sonarr que tout va bien. Dans quelques minutes, votre media sera sur Plex !
- __Quality Profile :__ celui que vous avez configuré (par exemple `any`)
- __Root Folder :__ le dossier Plex. Dans nos exemples : `/media/tvseries`
- __Language Profile :__ `Deprecated`
- Cochez les 4 cases en bas.
- Enregistrez et continuez.
## Exposer Overseerr avec Swag
#### Terminé !
::
Il peut etre intéressant d'exposer Overseerr, si vous souhaitez pouvoir faire des requêtes depuis l'exterieur sans VPN, ou si vous avez partagé votre Bibliothèque Plex à des utilisateurs et que vous souhaitez qu'ils aient accès à Overseerr.
Et voilà ! Demandez un film ou une série, puis regardez dans qBittorrent ou Radarr/Sonarr. En quelques minutes, votre média sera disponible sur Plex !
## Exposer Overseerr avec SWAG
Il peut être utile d'exposer Overseerr si vous voulez envoyer des demandes depuis l'extérieur sans VPN, ou si vous avez partagé votre bibliothèque Plex et voulez que vos proches aient accès à Overseerr.
::note
Nous partons du principe que vous avez le sous-domaine `films.mondomaine.fr` avec un `CNAME` qui pointe vers `films.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 `films.mondomaine.fr` avec un `CNAME` pointant vers `films.fr` dans votre [zone DNS](/general/networking/dns). Et que, [à moins d'utiliser Cloudflare Zero Trust](/serveex/security/cloudflare), le port `443` de votre box est redirigé vers le port `443` de votre serveur via les [règles NAT](/general/networking/nat).
::
Rendez-vous dans dockge, et éditez le compose de SWAG en ajoutant le réseau d'overseer, qui est celui de Plex car dans la stack Plex :
::steps{level="3"}
### Ajouter le réseau d'Overseerr à SWAG
Allez dans Dockge, modifiez le fichier compose de SWAG, et ajoutez le réseau d'Overseerr, qui est le même que celui de Plex (puisqu'il est dans la stack Plex) :
```yaml [compose.yaml]
---
@@ -394,35 +429,37 @@ services:
swag:
container_name: # ...
# ...
networks: # Relie le conteneur au réseau custom
networks: # Connects the container to a custom network
# ...
- plex # Nom du réseau déclaré dans la stack
networks: # Définit le réseau custom
- plex # Name of the network declared in the stack
networks: # Defines the custom network
# ...
plex: # Nom du réseau déclaré dans la stack
name: plex_default # Nom véritable du réseau externe
external: true # Précise que c'est un réseau à rechercher en externe
plex: # Name of the declared network
name: plex_default # Actual name of the external network
external: true # Indicates its an external network
```
Relancez la stack en cliquant sur "déployer" et patientez le temps que SWAG soit complètement opérationnel.
Redémarrez la stack en cliquant sur « Deploy » et attendez que SWAG soit pleinement opérationnel.
::note
Ici nous partons du principe que le nom du réseau de Tautulli est `plex_default`. Vous pouvez vérifier que la connexion est opérationnelle en visitant le dashboard de SWAG en tapant `http://ipduserveur:81`.
Nous partons ici du principe que le réseau de Tautulli s'appelle `plex_default`. Vous pouvez vérifier que la connexion fonctionne en visitant le tableau de bord de SWAG sur `http://ipdevotreserveur:81`.
::
Créez le fichier `films.subdomain.conf` et éditez le :
### Créer le fichier subdomain.conf
Créez et modifiez le fichier `films.subdomain.conf` :
::tip{icon="" to="/serveex/files/file-browser-quantum"}
✨ __Astuce :__ vous pouvez utiliser **File Browser Quantum** pour naviguer dans vos fichier et éditer vos documents au lieu d'utiliser les commandes du terminal.
✨ __Astuce :__ vous pouvez utiliser **File Browser** pour naviguer et modifier vos fichiers plutôt que des commandes dans le terminal.
::
```bash [Terminal]
sudo nano /srv/docker/swag/config/nginx/proxy-confs/films.subdomain.conf
```
Collez la configuration suivante :
Collez ce qui suit :
```nginx [films.subdomain.conf]
## Version 2024/07/16
@@ -483,13 +520,16 @@ server {
}
```
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 `http://films.mondomaine.fr`.
### Terminé !
::
Attendez quelques minutes, puis visitez `http://films.mondomaine.fr` dans votre navigateur.
::caution
__En cas d'échec :__ vérifiez les règles de votre pare-feu.
__Si ça ne marche pas :__ vérifiez les règles de votre pare-feu.
::
Et voilà, vous avez exposé Overseerr !
Et voilà, Overseerr est maintenant accessible publiquement !