Plex
Plex 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.

Nous installerons également Tautulli, un outil qui fournit des statistiques détaillées sur Plex. Comme toujours, nous utiliserons les images linuxserver.io quand c'est possible.
Installer Plex
- /
- srv
- docker
- plex
- compose.yml
- .env
- config
- transcode
- tautulli
- config
- plex
- docker
- media
- tvseries
- movies
- library
- srv
Créer les dossiers média
Créez les dossiers movies, tvseries et library dans /media :
mkdir -p /media/movies /media/library /media/tvseries
Déployer la stack
Ouvrez Dockge dans votre navigateur et cliquez sur compose.
Nommez la stack plex et ajoutez la configuration suivante :
---
services:
linuxserver_plex:
image: ghcr.io/linuxserver/plex:amd64-latest
container_name: plex
network_mode: host
environment:
- PUID=${PUID}
- PGID=${GUID}
- TZ=Europe/Paris
- VERSION=docker
volumes:
- /srv/docker/plex/config:/config
- /srv/docker/plex/transcode:/transcode
- /media:/media
restart: unless-stopped
mem_limit: 4096m
mem_reservation: 2048m
devices:
- /dev/dri:/dev/dri
tautulli:
image: lscr.io/linuxserver/tautulli:latest
container_name: tautulli
environment:
- PUID=${PUID}
- PGID=${GUID}
- TZ=Europe/Paris
volumes:
- /srv/docker/tautulli/config:/config
ports:
- 8181:8181
restart: unless-stopped
---
services:
plex:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
tautulli:
#...
labels:
- com.centurylinklabs.watchtower.enable=true
Renseigner vos variables d'environnement
Trouvez vos PUID et GUID en lançant :
id utilisateur
Remplissez votre fichier .env avec les valeurs récupérées, par exemple :
PUID=1000
GUID=1000
Déployez la stack.
L'interface locale est disponible sur http://ipdevotreserveur:32400/web/index.html.
Tautulli est accessible sur http://ipdevotreserveur:8181.
Terminé !
Paramétrer Plex
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.
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.

- Sur votre box, redirigez le port TCP
1234vers le port32400de l'IP de votre serveur avec les règles NAT. - Une fois fait, retournez dans Plex pour vérifier que l'accès à distance fonctionne.
32400 sur votre serveur.- 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/moviespour les films et/media/tvseriespour les séries.
Et voilà ! Vous avez un serveur Plex fonctionnel !
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.
Exposer Tautulli avec Swag
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.
tautulli.mondomaine.fr avec un CNAME pointant vers mondomaine.fr dans votre zone DNS. Et bien sûr, à moins d'utiliser Cloudflare Zero Trust, le port 443 de votre box doit être redirigé vers le port 443 de votre serveur dans les règles NAT.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 :
---
services:
swag:
container_name: # ...
# ...
networks: # Rattache le conteneur au réseau personnalisé
# ...
- tautulli # Nom du réseau déclaré
networks: # Définit le réseau personnalisé
# ...
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
Redéployez la stack et attendez que SWAG soit pleinement opérationnel.
tautulli_default. Vous pouvez vérifier la connexion en visitant le tableau de bord de SWAG sur http://ipdevotreserveur:81.Créer le fichier subdomain.conf
Copiez et renommez le fichier tautulli.subdomain.conf.sample en tautulli.subdomain.conf, puis modifiez-le :
sudo cp /srv/docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf.sample /srv/docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
sudo nano /srv/docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
Vérifiez que la configuration correspond à ce qui suit, et modifiez-la si nécessaire :
## Version 2023/05/31
# make sure that your tautulli container is named tautulli
# make sure that your dns has a cname set for tautulli
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name tautulli.*;
include /config/nginx/ssl.conf;
client_max_body_size 0;
# enable for ldap auth (requires ldap-location.conf in the location block)
#include /config/nginx/ldap-server.conf;
# enable for Authelia (requires authelia-location.conf in the location block)
#include /config/nginx/authelia-server.conf;
# enable for Authentik (requires authentik-location.conf in the location block)
#include /config/nginx/authentik-server.conf;
location / {
# enable the next two lines for http auth
#auth_basic "Restricted";
#auth_basic_user_file /config/nginx/.htpasswd;
# enable for ldap auth (requires ldap-server.conf in the server block)
#include /config/nginx/ldap-location.conf;
# enable for Authelia (requires authelia-server.conf in the server block)
#include /config/nginx/authelia-location.conf;
# enable for Authentik (requires authentik-server.conf in the server block)
#include /config/nginx/authentik-location.conf;
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app tautulli;
set $upstream_port 8181;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
location ~ (/tautulli)?/api {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app tautulli;
set $upstream_port 8181;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
location ~ (/tautulli)?/newsletter {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app tautulli;
set $upstream_port 8181;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
location ~ (/tautulli)?/image {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app tautulli;
set $upstream_port 8181;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
# 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.Appuyez sur Ctrl+O, puis Enter pour enregistrer, et Ctrl+X pour quitter.
Terminé !
Attendez quelques minutes, puis ouvrez http://tautulli.mondomaine.fr dans votre navigateur.
Et c'est terminé !
File Browser
Installer File Browser pour parcourir et gérer les fichiers de votre serveur depuis une interface web, exposée en toute sécurité avec SWAG.
Qbittorrent pour Plex
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é.