Einsteinium Posté(e) le 4 janvier 2022 Partager Posté(e) le 4 janvier 2022 (modifié) Préambule Nous allons voir comment faire un docker avec Plex en version "express", entre guillemets car cette version plus rapide à mettre en place utilisera un script pour maintenir le docker à jour et relancera plex chaque nuit par la même, la coupure dure le temps du relancement du docker et au final inutile de surveiller github ou d'utiliser de docker aux supers droits pour maintenir à jour l'image. Si vous préférez une version plus classique vous avez mon autre tutoriel : I - Préparation de l'installation A ) On commence par la création d'un dossier "Plex" dans le dossier "docker" B ) Création de 2 sous dossiers que vous créez dans le dossier "Plex" : "config" et "transcode" C ) La création d'un utilisateur "Plex", pour lequel on ne définira aucun accès dans les applications et un droit de lecture seule sur les dossiers vidéos. D ) Récupération du PUID/PGID pour le docker : Connectez vous en ssh et tapez dans la console "id Plex", on prendra alors note du uid/gid retourné. E ) Transcodage matériel Si votre nas est bien compatible : Voir la liste Alors vous créez un fichier "plexhw.sh" à la racine de notre dossier "Plex" contenant : #!/bin/sh if [ -d /dev/dri ]; then chmod 660 /dev/dri/renderD128 chmod 660 /dev/dri/card0 fi exit 0 Puis faire une tâche qui s'exécutera au démarrage : Panneau de configuration / Planificateurs de tâches / Créer / Tâche déclenchée / Script défini par l'utilisateur Avec pour utilisateur "root", en évènement "Démarrage" et dans le script le chemin de notre fichier "/volume1/docker/Plex/plexhw.sh" Exécutez manuellement la tâche pour appliquer la modification. II - Création du docker A ) Le script du docker La création d'un fichier "dockerplex.sh" dans le dossier "Plex" contenant les lignes suivantes : #!/bin/sh docker pull lscr.io/linuxserver/plex:latest docker stop Plex docker rm Plex docker image prune -f docker volume ls -qf dangling=true | xargs -r docker volume rm docker run -d \ --cpu-shares=50 \ --memory=4G \ --memory-swap=4G \ --name=Plex \ --net=host \ --device=/dev/dri:/dev/dri \ -e PUID=0000 \ -e PGID=000 \ -e VERSION=latest \ -e TZ=Europe/Paris \ -v /volume1/multimedia:/data:ro \ -v /volume1/docker/Plex/transcode:/transcode:rw \ -v /volume1/docker/Plex/config:/config:rw \ lscr.io/linuxserver/plex:latest exit 0 B ) Les variables à personnaliser : 1 ) La mémoire --memory=4G \ --memory-swap=4G \ Ici le réglage est pour 4Go, valeur idéale surtout lors des parses, néanmoins vous pouvez réduire ces valeurs, il faudra mettre alors pour : 2Go : 2G 1Go : 1G La variable memory-swap = memory, empêche le docker de déborder dans le swap une fois la limite de mémoire max atteinte. 2 ) Transcodage matériel Si votre nas n'est pas compatible alors vous supprimez la ligne : --device=/dev/dri:/dev/dri \ 3 ) PUID/PGID -e PUID=0000 \ -e PGID=000 \ Par les valeurs récupérées au point "I -> D" 4 ) Les dossiers multimédias -v /volume1/multimedia:/data:ro \ A personnaliser et multiplier en fonction de vos dossiers, par exemple : -v /volume1/Vidéo:/data/movies:ro \ -v /volume1/Séries:/data/tvshows:ro \ C ) Création et update journalier Nous créons une tâche qui exécutera notre fichier tous les jours à 5h30 : Panneau de configuration / Planificateurs de tâches / Créer / Tâche planifiée / Script défini par l'utilisateur Avec pour utilisateur "root" et dans le script le chemin de notre fichier "/volume1/docker/Plex/dockerplex.sh" Exécutez manuellement la tâche pour la création initiale. D ) Réclamer le serveur plex Pour cette étape, il faudra être rapide, après obtention du token, vous aurez 4 minutes. 1 ) Visitez cette page Plex Token et copiez le token obtenu 2 ) Modifiez notre fichier "dockerplex.sh" puis rajoutez la variable : -e PLEX_CLAIM=tokenobtenu \ 3 ) Exécutez manuellement de nouveau la tâche du point "II -> C" 4 ) Votre serveur est maintenant réclamé, supprimez la variable rajoutée au point "II -> D -> 2" Voilà c'est terminé, Inutile de relancer la tâche à nouveau, la modification temporaire pour le token sautera à la prochaine exécution du script, en seconde partie je donnerai les configurations que j'utilise actuellement pour vous faire gagner du temps. Adresse du serveur : https://ipdunas:32400 (en cas d’erreur, rajoutez /web à la fin) NB : Dockerfile avec le label watchtower : version: "2.1" services: plex: cpu_shares: 50 mem_limit: 4G container_name: Plex network_mode: host devices: - /dev/dri:/dev/dri labels: - com.centurylinklabs.watchtower.enable=true environment: - PUID=0000 - PGID=000 - TZ=Europe/Paris - VERSION=latest volumes: - /volume1/multimedia:/data:ro - /volume1/docker/Plex/transcode:/transcode:rw - /volume1/docker/Plex/config:/config:rw restart: unless-stopped image: lscr.io/linuxserver/plex:latest Modifié le 12 novembre 2022 par Einsteinium 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 4 janvier 2022 Auteur Partager Posté(e) le 4 janvier 2022 (modifié) Configuration du serveur que l'on retrouve en cliquant sur la petite clé à molette en haut à droite de l'interface. Je vous donne ma configuration, qui de mon point de vue est optimisé, je n'utilise pas les services en ligne de plex (anglais), ni l'upload de photos (pas une photothèque de mon point de vue), musique (apple music pour ma part, même si c'est sympa et bien foutu), le dlna ou le partage itunes (dépassés pour les deux) Si je ne précise pas un point particulier, alors c'est que le champs est par défaut. A vous ensuite de personnaliser à votre sauce, cela n'est vraiment que pour vous donner une base de départ, j'y vais néanmoins de mes petits commentaires et vous invite à en débattre le cas échéant si votre avis diverge ou si vous voulez rajouter votre touche. Général Directement on clique sur le bouton "Afficher en mode avancé". Ici vous donnez le nom de votre serveur sans caractères spéciaux pour ne pas avoir de problème, on ne coche que "Notifications push" si vous l'utilisez et on laisse le canal de mise à jour en public. Accès à distance On active pas l'accès à distance, sauf si vous voulez ouvrir votre serveur par le port, ce qui de mon point de vue craint, il vaut mieux ouvrir par un sous domaine que des bots ne trouveront pas grâce à un port scan. Ici on ne règle que "Vitesse de téléversement par internet", valeur en Mbit/s attention, exemple 400Mbits/s correspondra à 50Mo/s. (Voir google si cela ne vous parle pas) Bibliothèque On coche tout sauf : "Analyser ma bibliothèque périodiquement" (inutilement gourmand, il y a l'analyse auto lors de l'ajout de fichiers et les tâches planifiées pour le reste) & si vous n'utilisez pas la partie musique : "Inclure les bibliothèques de musique dans les mises à jour automatiques" & "Activer le mélange intelligent sur les artistes et les listes de lecture musicales intelligentes" Ensuite dans les menus déroulants : Générer les aperçus vidéo miniatures : "jamais", gourmand, prend de la place inutilement pour un effet graphique que vous ne verrez que si vous allez dans le tableau de bord. Générer des marqueurs d'introduction : "comme tâche planifiée", utile si vous avez un plex pass, il permet de sauter les introductions, mais gourmand, donc on le place en tâche planifiée. Générer les miniatures pour les chapitres : "jamais", gourmand, prend de la place inutilement, utilisable que dans certains lecteurs et au final jamais utilisé depuis l'arrivée de la fonction reprendre, fonction qui était bon du temps où il fallait reprendre un film non fini. Analyser les pistes audio pour le volume : "jamais", gourmand, prend de la place inutilement et ne sert à rien les lecteurs le faisant déjà (nivellement du volume et les transitions intelligentes) Analyze audio tracks for sonic features : "jamais", je n'utilise pas la partie musique, mais pour plus d'information voir cette page. Visibilité de l'emplacement : Administrateur seulement, cela ne regarde pas le commun des mortels 😉 Extensions : Région "France" et désactiver les deux cases. Réseau : Activer le support ipv6 : désactiver (cause trop de problème) Connexions sécurisées : Obligatoire, inutile de dire pourquoi je pense. Les 3 champs suivants on laisse vide, car totalement inutiles, même si vous utilisez un domaine/certificat, nous y reviendrons plus bas 🙂 Interface réseau préférée : tout Strict TLS configuration ☑️ On ne coche pas Activer la découverte du réseau local (GDM) Flux distants autorisés par utilisateur : 3 pour ma part, à voir comment vous voyez la chose de votre côté. Réseaux LAN : 192.168.0.0/255.255.255.0 ou 192.168.1.0/255.255.255.0 (ces deux choix correspondent à la plus part des réseaux, à adapter si vous avez une configuration exotique) Interrompre les session sur pause depuis plus de 30 minutes, contre les vilains qui coupent leur TV sans arrêter la diffusion. On ne coche pas "Traiter l'IP WAN comme du débit LAN" et "Activer le relais", la première faisant sauter la limite de débit distant et la seconde inutile car bridée et peut poser des problèmes à distance. URL personnalisées pour accéder au serveur, si vous utilisez votre serveur que localement alors vous ne mettez que : https://192.168.X.X:32400 (en mettant l'ip de votre nas), si vous utilisez le nas en plus via un sous domaine, vous mettez alors : https://192.168.X.X:32400,https://domain.ndd.fr (Je reviendrai sur la fin au réglage à faire dans le reverse proxy) On laissera le champs suivant vide et la dernière case "Webhooks" décochée. Transcodeur Qualité du transcodeur : Favoriser une haute vitesse d'encodage Répertoire temporaire : /transcode Taille du tampon : 60 Préréglage x264 : hyper rapide Et on coche les 4 cases suivantes, sauf la seconde si vous voulez autoriser le transcodage vidéo. Pour ma part tous mes lecteurs sont à jour et j'ai la fibre, les réglages sont faits pour la vitesse, si vous transcodez ils sont optimaux et le client aura la qualité qui correspondra à son débit, ce n'est pas parce qu'on aura choisi la vitesse, que l'image sera dégueulasse. Langues Sélectionnez automatiquement les pistes audio et de sous-titres ☑️ Et dans les menus : Français, manuellement et Français DLNA Décoché Tâches planifiées Entre 2 et 5h du matin (Rappelez vous notre dock sera relancé à 5h30) inutile de faire une plage plus longue et avec ces horaires elle se retrouve dans une plage normalement calme. On coche tout sauf : "Mettre à jour l'analyse des médias durant la maintenance" & "Procéder à une analyse étendue des médias pendant la maintenance", deux tâches gourmandes inutiles. Et si vous n'utilisez pas les photos : "Chercher les noms de lieux manquants pour les éléments des sections photo." & "Analyser et marquer les photos" Bonus : Utilisation d'un sous domaine pour Plex En partant du principe que votre domaine est configuré & après installation du certificat en suivant le tutoriel suivant : Pour DSM 7, n'ayant plus vue sur DSM 6 Dans Panneau de configuration / Sécurité / Avancé / Niveau de profil TLS / SSL : Compatibilité intermédiaire Dans : Panneau de configuration / Portail de connexion / Avancé On clique sur le bouton "Proxy inversé" puis "Créer". Dans Général : Nom du proxy inversé : Plex Source : - Protocole : HTTPS - Nom d'hôte : plex.ndd.fr - port : 443 Activer HSTS ☑️ Destination : - Protocole : HTTPS - Nom d'hôte : localhost - Port : 32400 Dans En-tête personnalisée : On fait "Créer" puis "WebSocket" Puis on fera "Créer" puis "Créer" pour les variables suivantes : X-Plex-Client-Identifier $http_x_plex_client_identifier X-Plex-Device $http_x_plex_device X-Plex-Device-Name $http_x_plex_device_name X-Plex-Platform $http_x_plex_platform X-Plex-Platform-Version $http_x_plex_platform_version X-Plex-Product $http_x_plex_product X-Plex-Token $http_x_plex_token X-Plex-Version $http_x_plex_version X-Plex-Nocache $http_x_plex_nocache X-Plex-Provides $http_x_plex_provides X-Plex-Device-Vendor $http_x_plex_device_vendor X-Plex-Model $http_x_plex_model Dans Paramètres avancés : Les 3 délais à 60 Version HTTP du proxy : HTTP 1.1 Utiliser la page d'erreur renvoyée par le serveur cible C'est terminé pour les réglages, enjoy 😉 Modifié le 1 février 2022 par Einsteinium Ajout pour "Niveau de profil TLS / SSL" 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pluton212+ Posté(e) le 1 février 2022 Partager Posté(e) le 1 février 2022 Salut @Einsteinium, encore un beau tuto 😍 quelle est l'utilité de la partie "En-tête personnalisée" ? Merci. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 1 février 2022 Auteur Partager Posté(e) le 1 février 2022 Merci @pluton212+, A partir du moment ou l'on fait du reverse proxy, elles sont utile, le websocket pour les parties "Alertes" et "Console" dans les paramètres du serveur, les autres pour la récupération des informations clients complètes dans tous les cas de figure. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 1 février 2022 Partager Posté(e) le 1 février 2022 Bonjour @Einsteinium et merci pour ce tuto. Entre ce tuto et "[TUTO] Plex via docker, avec ou sans transcodage matériel", lequel vaut-il mieux utiliser ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 1 février 2022 Auteur Partager Posté(e) le 1 février 2022 @CyberFr Merci 🙂 La différence entre celui ci et l'ancien, c'est la méthode de déploiement qui ici est plus rapide, on ne par perd de temps dans l'interface graphique de docker, moins lourd en lecture on va à l'essentiel, avec en prime des réglages de base pour plex 🙂 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 1 février 2022 Partager Posté(e) le 1 février 2022 Mais on ne perd rien au passage ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 1 février 2022 Auteur Partager Posté(e) le 1 février 2022 Non aucune différence au final, il n'y a que la partie macvlan que je n'ai pas re mise. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 1 février 2022 Partager Posté(e) le 1 février 2022 C'est quoi la partie macvlan ? Parce que si je suis ce tuto, je ne reprendrai pas l'autre en parallèle. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 1 février 2022 Auteur Partager Posté(e) le 1 février 2022 Affranchir le docker avec sa propre IP, mais c’est contre productif et plus a jour. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 1 février 2022 Partager Posté(e) le 1 février 2022 C'est noté. Merci. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 2 février 2022 Partager Posté(e) le 2 février 2022 Faut-il avant tout ouvrir un compte chez Plex ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 2 février 2022 Auteur Partager Posté(e) le 2 février 2022 Oui, le compte est gratuit, il y a une option Plex pass qui débloque ensuite quelques fonction en plus : https://www.plex.tv/fr/plex-pass/ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 2 février 2022 Partager Posté(e) le 2 février 2022 OK, je file au comptoir ouvrir un compte 🙂 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 3 février 2022 Partager Posté(e) le 3 février 2022 Le 04/01/2022 à 10:31, Einsteinium a dit : C ) Création et update journalier Nous créons une tâche qui exécutera notre fichier tous les jours à 5h30 : Panneau de configuration / Planificateurs de tâches / Créer / Tâche planifiée / Script défini par l'utilisateur Avec pour utilisateur "root" et dans le script le chemin de notre fichier "/volume1/docker/Plex/dockerplex.sh" Exécutez manuellement la tâche pour la création initiale. Lorsque j'exécute la tâche, le conteneur Plex disparaît de docker. Le journal indique qu'un dossier n'a pas été trouvé et pourtant il existe bien avec le bon chemin d'accès. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 3 février 2022 Auteur Partager Posté(e) le 3 février 2022 Le 04/01/2022 à 10:31, Einsteinium a dit : 4 ) Les dossiers multimédias -v /volume1/multimedia:/data:ro \ A personnaliser et multiplier en fonction de vos dossiers, par exemple : -v /volume1/Vidéo:/data/movies:ro \ -v /volume1/Séries:/data/tvshows:ro \ Si tu regardes bien le format, c'est -v /Emplacement sur nas:/emplacement dans le docker:ro \ Toi tu as juste mis : -v /Emplacement sur nas:ro \ 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
CyberFr Posté(e) le 3 février 2022 Partager Posté(e) le 3 février 2022 Si je te suis bien, Vidéo, et Séries sont des dossiers partagés à le racine dans Vomume1 et data se situe dans /Volume1/docker/Plex/data. Tu le références simplement par /data précédé de deux points. Pourquoi deux dossiers partagés pour un même contenu ? Désolé mais je débute. 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 3 février 2022 Auteur Partager Posté(e) le 3 février 2022 Non là je donne des exemples, ils faut monté tes dossiers multimédias dans le docker pour qu’il voit tes fichiers, après côté docker tu choisis comme tu veux, là j’ai mis /data/movies, tu peux mettre /multi/films si tu préfères, regarde bien mon poste précédent, je ne peux pas faire plus clair 🙂 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
adaaud97 Posté(e) le 9 février 2022 Partager Posté(e) le 9 février 2022 Merci @Einsteinium pour ton tuto clair et précis. Ca m'a pris quelques minutes et ça fonctionne bien. J'ai tout de même une question pour toi concernant les applications PLEX. Lorsque je mets les paramètres par défaut avec l'accès à distance etc j'ai accès à mon serveur dans les applications PLEX (Windows, IOS et Android) mais de manière indirecte en dehors de mon réseau. Or quand je me connecte avec mon navigateur j'apparais en connexion directe. (Pas d'IP fixe donc DDNS et reverse proxy). Lorsque je mets tes paramètres, je perds complètement l'accès à mon serveur en dehors de mon réseau local pour mes applications. Connaitrais-tu un moyen de pouvoir faire des connections directes sans VPN en dehors de mon réseau local (comme sur mon navigateur) pour les applications? Merci d'avance, Arnaud 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
adaaud97 Posté(e) le 9 février 2022 Partager Posté(e) le 9 février 2022 Au temps pour moi, tes paramètres fonctionnent bien, en changeant la config j'avais supprimé ma règle de ports dans mon pare-feu et oublier d'indiquer l'Irlande afin de pas être en indirect. Tout est rentré dans l'ordre. Encore merci! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 9 février 2022 Auteur Partager Posté(e) le 9 février 2022 Bonjour, Justement j'allais te dire, que indirect = par le relais de plex, donc un problème de port dans tous les cas (que ce soit 32400 si direct ou 443 si reverse) Et bien merci pour ce retour 🙂 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
anitrafarris Posté(e) le 17 février 2022 Partager Posté(e) le 17 février 2022 Merci pour ce tuto !! 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Frederic62 Posté(e) le 20 février 2022 Partager Posté(e) le 20 février 2022 Bonsoir, Tout d'abord merci pour ce tuto clair et rapide a mettre en place. J'ai appliqué le tuto il y a une dizaine de jour mais seulement depuis 2 jours, j'ai une notification de DSM comme quoi le container plex s'est arrêté de manière inattendue. Apparemment sans incidence sur le fonctionnement a par recevoir la notification chaque jour. (Peut-être que conteneur met trop de temps à s'arrêter ?!?) Autre petit problème non bloquant, dans les log docker du conteneur plex, l'heure des log est décalée d'une heure... Pourtant j'ai bien mis Europe/Paris.... Bref si quelqu'un à une idée pour résoudre ces petits aléa. Merci d'avance 😀 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Einsteinium Posté(e) le 20 février 2022 Auteur Partager Posté(e) le 20 février 2022 Ce type d’erreur n’arrive que si l’on arrête manuellement le docker pour le relancer (un update ?), alors a l’exécution du script suivant on reçoit cette erreur, mais effectivement sans aucune importance au finale. Je n’ai pas de problème horaire pour ma part dans les logs… ton nas est bien à l’heure ? 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Frederic62 Posté(e) le 20 février 2022 Partager Posté(e) le 20 février 2022 Oui c'est suite au script d'update/redémarrage du conteneur. Mon nas est bien à l'heure et en vérifiant, c'est tous les conteneurs docker qui sont en décalage d'une heure! 0 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.