Plex
- Installer Plex
- Installer Tautulli
- Accéder aux media depuis l'exterieur
Plex 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.
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.
On installera également 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.
- 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.
Installer Plex
Structure des dossiers :
root
├── docker
│ ├── plex
│ │ ├── compose.yml
│ │ ├── .env
│ │ ├── config
│ │ └── transcode
│ └── tautulli
│ └── config
└── video
├── tvseries
├── movies
└── library
Ouvrez Dockge dans votre navigeateur, et cliquez sur compose
.
Nommez la stack plex
et ajoutez la config suivante :
version: "2.1"
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:
- /docker/plex/config:/config
- /docker/plex/transcode:/transcode
- /video/tvseries:/data/tvshows:ro
- /video/movies:/data/movies:ro
- /video/library:/data/library:ro
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:
- /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
Trouvez votre PUID et votre GUID en tapant la commande suivante :
id nomdutilisateur
Et renseignez le .env
avec les infos que vous avez trouvées, par exemple :
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
.
- 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 gérer l'installation à distance via un tunnel SSH.
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.
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.
- Sur votre routeur, redirigez le port
TCP
source1234
vers le port32400
, vers l'IP de votre serveur via les règles NAT. - Une fois fait, retournez dans Plex afin de vérifier que la connexion est bien opérationnelle
- En cas d'échec : vérifiez les règles de votre pare-feu et autorisez le port
32400
de 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
/data/movies
pour les films et/data/tvshows
pour les séries.
Et voilà, vous avez un Plex fonctionnel !
Vous n'avez plus qu'a remplir les dossiers /video
et /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 !
- 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 afin 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.
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.
- Nous partons du principe que vous avez le sous-domaine
tautulli.mondomaine.fr
avec unCNAME
qui pointe versmondomaine.fr
dans zone DNS. Et que bien sûr, à moins que vous utilisiez Cloudflare Zero Trust, le port443
de votre box pointe bien sur le port443
de votre serveur dans les règles NAT.
Ouvrez Dockge et ajoutez le réseau de swag au conteneur de Tautulli dans la conf de la stack Plex. Rappel sur comment ajouter un réseau pré-existant :
services:
nomduservice:
container_name: #...
# ...
networks: # Relie le conteneur au réseau custom. A faire pour chaque conteneur à exposer de la stack
- swag # Nom du réseau déclaré dans la stack
networks: # Défini le réseau custom
swag: # Nom du réseau déclaré dans la stack
name: swag_default # Nom véritable du réseau externe
external: true # Précise que c'est un réseau à rechercher en externe
- Ici nous partons du principe que le nom du réseau de Swag est
swag_default
.
Puis déployez à nouveau la stack.
Copiez en renommant le fichier tautulli.subdomain.conf.sample
en tautulli.subdomain.conf
et éditez le :
sudo cp /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf.sample /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
sudo vi /docker/swag/config/nginx/proxy-confs/tautulli.subdomain.conf
Et vérifiez que la configuration correspond bien à ceci, sion éditez le fichier en appuyant sur i
:
## 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 http2;
listen [::]:443 ssl http2;
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 fournisseur dans Authentik.Appuyez sur Echap
puis sauvegardez et quittez en tappant :x
Patientez quelques minutes puis tapez dans votre navigateur http://tautulli.mondomaine.fr
.
- En cas d'échec : vérifiez les règles de votre pare-feu.
Et voilà !