Bonjour/bonsoir à tous,
Alors voilà, les offres de vidéo à la demande sont de plus en plus nombreuses (de plus en plus chères aussi) et ça commence à être vraiment compliqué de s'y retrouver dans tout ce bourbier.
Mais ça tombe bien puisque le mois dernier, nous avons déployé un Rclone relié à Google Drive, nous permettant d'avoir du stockage distant pour nos films et séries.
Et si on y branchait un serveur multimédia maintenant ?

Mais en fait c'est quoi Plex ?
Plex, aujourd'hui, c'est un peu une grosse machine avec de la TV en direct, de la VOD, du retrogaming. Mais initialement c'est "juste" un serveur multimédia qui permet d'afficher sa bibliothèque de films et séries.

La seule alternative Open Source (car Plex ne l'est pas) que je recommande aujourd'hui est Jellyfin (Emby ayant décidé de ne plus être Open Source en 2018).
Alors oui, Plex n'est pas Open Source et est même payant si on veut accéder à toutes les fonctionnalités. Mais pour avoir essayé la plupart des solutions grand public (prochain article comparatif à venir ?), Plex a encore une certaine longueur d'avance sur ses concurrents. Notamment sur les clients Android TV qui ont tendance (d'après mon expérience) à être un peu instables ailleurs que chez Plex.
Convaincu ? Comment ça s'installe alors ?
Mais avec Docker bien sûr ! Prenons ensemble l'exemple de mon docker-compose et décortiquons les quelques lignes du fichier ensemble :
version: "3"
services:
plex:
image: linuxserver/plex:latest
container_name: plex
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Paris
- VERSION=docker
- PLEX_CLAIM=xxxxxxxx
- ADVERTISE_IP=xxxxxxxx:443
volumes:
- /home/holory/shared:/data/shared
- ./config:/config
restart: unless-stopped
networks:
- web
labels:
- "traefik.enable=true"
- "traefik.http.routers.plex.rule=Host(`xxx.xxx.fr`)"
- "traefik.http.routers.plex.entrypoints=websecure"
- "traefik.http.services.plex.loadbalancer.server.port=32400"
networks:
web:
external: true
C'est une configuration somme toute assez classique alors je ne vais pas reprendre les bases, mais simplement expliquer ce qui peut sortir de l'ordinaire :
- Les lignes PUID et GUID servent à mapper l'utilisateur interne du conteneur à l'utilisateur de votre machine hôte. C'est un point commun à toutes les images linuxserver.io que je sache. Vous pouvez connaitre vos id en tapant simplement "id" dans votre terminal :
[email protected]:~$ id
uid=1000(holory) gid=1000(holory)
- PLEX_CLAIM : cette variable n'est nécessaire qu'une seule fois lors de la première configuration du serveur. Vous pouvez obtenir votre token via cette adresse : https://www.plex.tv/claim/
- ADVERTISE_IP : Normalement optionnel, j'avais dû le mettre en place car mon conteneur étant derrière un reverse proxy, j'avais une erreur me disant que mon serveur n'était pas accessible à l'extérieur de mon réseau local (alors que si). Le simple fait de renseigner le sous-domaine à cette variable a corrigé l'erreur, je vous laisse donc tester de votre côté (je suis curieux d'avoir votre retour là-dessus d'ailleurs).
- Volumes: La première ligne sert à mapper mon Google Drive distant créé via Rclone dans l'article du mois dernier. Vous pouvez également mapper un vrai répertoire de votre disque physique, si vous avez déjà des films et séries sur un disque à vous par exemple. La deuxième ligne map un dossier config permettant le bon fonctionnement de Plex.
- Labels : Tout cette partie est liée à Traefik, si vous ne l'utilisez pas, vous pouvez la retirer ou la commenter.
C'est bon, on peut démarrer ?
Si votre docker-compose est terminé (n'oubliez pas d'ajouter votre token pour le claim du serveur), vous pouvez le lancer :
[email protected]:~/apps/plex_test$ docker-compose up -d
En accédant à votre domaine/sous-domaine vous devriez arriver sur une page similaire vous demandant de vous connecter. Reste à accepter le premier écran de Plex, donner un petit nom sympa à son serveur et préparer la configuration de la médiathèque.



Si votre volume est bien mappé à votre dossier stockant vos médias (films, séries, etc.) Vous devriez les retrouver lors de la configuration de Plex :



On termine enfin la configuration de notre médiathèque :


Plex devrait alors commencer à scanner tous vos films et séries pour les ajouter petit à petit :

Vous pouvez d'ores et déjà vous connecter à votre serveur avec votre appareil préféré. Perso, l'application Plex est installée sur une Nvidia Shield TV et un vidéoprojecteur et aucun problème particulier à déclarer.
Notez quand même que :
- Forcément, le flux vidéo est plus stable en ethernet qu'en wifi
- Selon votre machine, le transcodage côté serveur peut un peu galérer. Quand c'est possible, changez la qualité de lecture de votre lecteur sur "Lire en qualité originale". De ce fait c'est votre appareil qui se chargera du transcodage, pas votre serveur.
Conclusion
Cela fait maintenant 2 mois que ma transition Jellyfin vers Plex est terminée. Globalement mon retour est très positif, l'interface est claire et ergonomique en plus d'être jolie 🥰.
Si je dois évoquer quelques bémoles :
- Les utilisateurs sur l'application téléphone doivent effectuer un achat unique de 4,99€ pour pouvoir caster le contenu sur un appareil. Cet achat n'est pas nécessaire si l'utilisateur possède un abonnement Plex pass. C'est dommage, mais bon, Plex est une entreprise et a besoin de faire des bénéfices. Cinq euros c'est pas la mort non plus, mais faut le savoir. Au moins, sur Jellyfin, vos utilisateurs ne doivent pas mettre la main au porte-monnaie pour accéder au contenu.
- Le système d'authentification passant obligatoirement par les serveurs Plex. Les utilisateurs que vous invitez, pas ceux partageant votre foyer donc, doivent avoir un compte Plex pour pouvoir accéder à votre serveur. C'est dommage ça aussi. Ils le justifient par la sécurité, ça s'entend, mais c'est chiant.
Et vous, une expérience Plex, Jellyfin, Emby ou autre à partager ? Direction l'espace commentaires juste en dessous ! 👍