Aller au contenu

[TUTO] Plex via docker, avec ou sans transcodage matériel

Featured Replies

Posté(e)

Bonjour,
Après une utilisation d'un mois de 2 serveurs PLEX via docker compose, j'ai un petit désagrément.
Je m'explique: je me connecte sur mon PC tout le temps via app.plex.tv et les 2 serveurs ne me font pas part des mises à jours à installer.
Il faut que je redémarre les conteneurs pour savoir si il y avait une mise à jour ou non.
J'ai loupé quelque chose ?

Merci.

  • Réponses 1 k
  • Vues 221 k
  • Créé
  • Dernière réponse

Meilleurs contributeurs dans ce sujet

Most Popular Posts

  • Merci @MilesTEG1 il est bien en host ... Visiblement d'autres rencontrent le même problème plex token not written to preferences on first run · Issue #100 · linuxserver/docker-plex · GitHub

  • Merci @Einsteinium pour ce tuto. Je viens de le mettre en place, c'est top. Efficace et fonctionnel. De même pour le transcodage Hardware (transcodage de vidéos 4k sur smartphone à distance en 4G

  • Bonjour, Ça dépend si tu l'as activé ou non. C'est dans "Panneau de configuration > Réseau > Interface réseau > Gérer > Paramétre d'Open vSwitch" C'est disponible sur les NA

Images postées

Posté(e)
  • Auteur

Bizarre, un bug inexplicable ? perso aucun soucis de mon côté, après je ne m’embête pas avec les maj, j'ai le docker qui ce recrée chaque nuit, c'est très rare que je le relance manuellement pour un update

Posté(e)

Je sais pas trop. 
Je viens de refaire mon docker-compose.
J'ai mis : 

services:
  plex_PlexMediaServer:
    #image: linuxserver/plex:latest
    # https://github.com/linuxserver/docker-plex
    image: ghcr.io/linuxserver/plex:latest

L'image n'était pas en :latest
Je ne sais pas si c'est ça mais j'ai modifié.

De plus dans l'interface de PLEX, j'ai modifié ceci :

image.png.afe36fca62503d21358480320ff50e7f.png

Pareil, je ne sais pas si c'est utile mais en effectuant ce changement, j'ai eu une mise à jour de proposée...

Les notifications sont elle envoyées à tous les utilisateurs PLEX ou seulement au compte ADMIN ?
Moi qui partage mes bibliothèques avec pas mal de personnes...

Posté(e)

donc si j'ai le couple "latest" et "public" c'est le mieux ?

Posté(e)
il y a 31 minutes, GrOoT64 a dit :

donc si j'ai le couple "latest" et "public" c'est le mieux ?

Le mieux c’est de ne pas mettre latest et de spécifier une variable d’environnement docker pour dire quel type de mise à jour tu veux.

je remets mon docker-compose.yml, lit les commentaires 😇

 

Citation

---
version: "2.4"
services:
  plex_PlexMediaServer:
    #image: linuxserver/plex:latest
    # https://github.com/linuxserver/docker-plex
    image: ghcr.io/linuxserver/plex
    container_name: plex_PlexMediaServer
    network_mode: host
    environment:
      - PUID=1000  # Utiliser la commande (en SSH) : id NOM_UTILISATEUR
      - PGID=100
      - TZ=Europe/Paris
      #- LANG=fr_FR.UTF8
      #- LANGUAGE=fr_FR.UTF8
      - UMASK=022 #optional
      - VERSION=docker    # docker : Let Docker handle the Plex Version, we keep our Dockerhub Endpoint up to date
                          #          with the latest public builds.
                          # latest : will update plex to the latest version available that you are entitled to.
                          # public : will update plexpass users to the latest public version, useful for plexpass users
                          #          that don't want to be on the bleeding edge but still want the latest public updates.
                          # <specific-version>: will select a specific version (eg 0.9.12.4.1192-9a47d21) of plex to
                          #                     install, note you cannot use this to access plexpass versions if you do not
                          #                     have plexpass.
                          # Dernière version connue pour être OK : (en cas de plantage dûe à une MAJ foireuse)
                          #        1.22.1.4275-48e10484b

      # Si plex est en mode HOST, la ligne suivante n'est pas nécessaire.
      #- PLEX_CLAIM=BLABLA #obtain claim token https://plex.tv/claim expire within 4 minutes.
      
      # Section pour changer le thème à PMS via DOCKER_MODS
      #    - Utilisation de ce dépôt : Source : https://github.com/gilbN/theme.park/wiki/Gitea
      #      Possibilités :  changer xxXXxx dans la ligne  - TP_THEME=xxXXxx
      #                      par :
      #                               aquamarine      <--- Pas mal celui là.
      #                               hotline
      #                               plex            <--- TOP
      #                               dark            <--- TOP
      #                               space-gray      <--- TOP, mon préféré !
      #                               organizr-dark
      - DOCKER_MODS=ghcr.io/gilbn/theme.park:plex
      - TP_THEME=space-gray
    
    # ###############
    # Le label ci-dessous permet à Watchtower de faire les mises à jour automatiquement
    # Cela peut-être supprimé si Watchtower n'est pas utilisé.
    labels:
      - "com.centurylinklabs.watchtower.enable=true"
    # ###############

    volumes:
      - "/volume1/docker/plex/config:/config"
      - "/volume1/docker/plex/transcode:/transcode" #optional
      - "/volume2/medias_1:/data/tvshows:ro"
      - "/volume2/medias_2:/data/movies:ro"
      - "/volume2/medias_3:/data/videos:ro"
    
    # Ce qui suit permet au conteneur PMS d'accéder à l'accélération matériel sans avoir besoin d'exporter puis éditer le fichier de configuration JSON du conteneur
    # 
    # Il faut quand même faire le script de modification de permissions.
    devices:
      - /dev/dri:/dev/dri #optional
    
    restart: unless-stopped
    
    # Les valeurs ci-dessous sont à adapter à la quantité de RAM de votre NAS.
    # Sur mon 920+ j'ai 12Go de RAM.
    mem_limit: 4096m
    mem_reservation: 2048m

Ps : désolé j’ai pas la balise code sur mobile…

Posté(e)
il y a 46 minutes, MilesTEG1 a dit :

    - VERSION=docker    # docker : Let Docker handle the Plex Version, we keep our Dockerhub Endpoint up to date

Donc là je laisse docker ?

Posté(e)
il y a 2 minutes, GrOoT64 a dit :

Donc là je laisse docker ?

Oui si tu veux que PMS se mette à jour  en redémarrant ton conteneur.

ça n’empêchera pas de devoir mettre à jour le conteneur soit en le recréant manuellement soit en utilisant Watchtower.

Posté(e)

Ah bah il était là mon problème. La dernière fois j'avais mis latest ici

Posté(e)
  • Auteur
Il y a 1 heure, MilesTEG1 a dit :

@GrOoT64

c’est couillu de mettre son PMS en mode bêta pour les maj…

il y a fréquemment des versions bêta qui cassent tout… 

J’ai dû connaître qu’une seule fois un bug d’une bêta en 3 ans, corrigé rapidement.

Le canal de mise à jour, c’est lui qui donne la notification dans le panel de Plex et permet la mise à jour manuel.

Maintenant toujours le faire via un redémarrage du docker, jamais en manuel, cela évite des problèmes.

A partir du moment où tu as mis latest en variable dans le docker et que tu as le plexpass tu auras la dernière bêta installé à chaque reboot, si tu n´en veux pas, c’est là où il faut mettre public.

Posté(e)
Il y a 2 heures, Einsteinium a dit :

A partir du moment où tu as mis latest en variable dans le docker et que tu as le plexpass tu auras la dernière bêta installé à chaque reboot, si tu n´en veux pas, c’est là où il faut mettre public.

Il y a aussi l'option Docker pour l'image LinuxServer :

      - VERSION=docker    # docker : Let Docker handle the Plex Version, we keep our Dockerhub Endpoint up to date
                          #          with the latest public builds.
                          # latest : will update plex to the latest version available that you are entitled to.
                          # public : will update plexpass users to the latest public version, useful for plexpass users
                          #          that don't want to be on the bleeding edge but still want the latest public updates.
                          # <specific-version>: will select a specific version (eg 0.9.12.4.1192-9a47d21) of plex to
                          #                     install, note you cannot use this to access plexpass versions if you do not
                          #                     have plexpass.
                          # Dernière version connue pour être OK : (en cas de plantage dûe à une MAJ foireuse)
                          #        1.22.1.4275-48e10484b

Je préfère laisser Docker gérer ça... Un reboot du conteneur permet aussi de mettre à jour le PMS qui est une sorte de routine indépendante à l'intérieur du conteneur, comme tu le dis @Einsteinium.

Mais du coup, tu soulèves un point intéressant : est-ce que laisser la variable sur DOCKER est intéressant ? 

Et surtout, pour ceux qui n'ont pas watchtower de paramétré pour faire les MAJ automatiquement des images de conteneurs, est-ce que ça change quelque chose ?

Posté(e)
  • Auteur

Moi j’utilise toujours latest en image, afin de bien avoir un docker à jour (vis à vis des dépendances), je fais allusion à la version=latest mise en environnement dans mon message précédent.

Posté(e)

Wouaw jsuis perdu lol 
Du coup je mets latest ou docker ? mdr

Posté(e)

Dernier petit truc, quand je rejoute un épisode s'une série par exemple, la bibliothèque ne se met pas à jour seule... 
Pourtant j'ai ces réglages
image.png.94ff0f8c73c027b4c0af8e4c7c0f34c5.png

Posté(e)
Il y a 11 heures, Einsteinium a dit :

Fait un clic droit sur ton dossier multimédia et dit moi le nombre le de dossier 🙂

Qui englobe tous les documents PLEX?

Rien que le dossier partager séries contient 20229 fichiers et 693 dossiers

Jsuis en train de faire ta requête en SMB c'est un peu long... lol

Posté(e)

Bon ça veut pas me dire mais beaucoup 😄
ça refonctionne ce matin c'est assez curieux... Bref 😛

Posté(e)

Bonjour,

Je viens d'installer le container plex en suivant les instructions, ça fonctionne ; merci encore pour ce beau tutoriel.

Néanmoins je bloque à l'étape d'activation du transcodage matériel.

Je parviens sans problème à chmoder /dev/dri/renderD128 et le script est en place pour s'exécuter à chaque redémarrage par l'user root.
En passant, j'ai aussi un /dev/dri/card0 ; à quoi ça correspond ? On doit lui appliquer un chmod 666 aussi ?

En revanche, impossible de trouver trace de ces lignes dans mon fichier de conf .json.

"ddsm_bind_share" : "",
"devices" : [],

J'ai donc pris le parti d'ajouter les lignes nécessaires juste après celle visant la priorité de cpu mais les lignes ne sont pas conservées par docker !
En effet, si j'importe le json, lance le container et re-exporte le json, mes éditions ont disparues et je me retrouve au point de départ 😞

 

A toutes fins utiles, j'attache le json tel qu'exporté et celui que j'importe.
Je précise que je modifie le json soit via l'éditeur de texte de dsm soit via sublimetext donc, normalement, je n'importe pas de fichier foiré.

plex.syno.json_edited plex.json_original

Posté(e)
  • Auteur
Le 15/07/2021 à 08:00, GrOoT64 a dit :

Rien que le dossier partager séries contient 20229 fichiers et 693 dossiers

D’accord donc c’est pas beaucoup et suffisant pour être pris en compte par plex.

Il y a 2 heures, Amsonia a dit :

On doit lui appliquer un chmod 666 aussi ?

Non, on l’utilise pas 😉

C’est normal les lignes ne seront pas dans l’export, mais ne t’en fait pas la modification est bien prise en compte.

Posté(e)

Il y a probablement quelque chose que j'ai du faire à côté de la plaque car je ne vois pas le '(hw)' quand je force un transcodage.

Je lis depuis http://app.plex.tv, sur le même LAN que celui où est le NAS.
J'ai le plexpass si jamais cela a une importance quelconque.

Voici le fichier que j'ai importé pour re-créer le container. On y voir bien les lignes nécessaires même si, comme dit, j'ai du les ajouter purement et simplement.

plex.syno.json


Comme dit précédemment, le json exporté ne contenait pas les lignes suivantes

"ddsm_bind_share" : "",
"devices" : [],

 

Et comme on le voit ci-dessous, mon /dev/dri/renderD128 a bien été chmodé en 666.

image.png.e17b0c3f83fd7faadaa9a6641ee4b20b.png

 

Par ailleurs, voici une capture d'écran de ma configuration de transcodage au sein de Plex :

firefox_DO7W4T0XbY.thumb.png.a3daadb59cd5005d52716f75515f1300.png

 

Enfin, voici une capture vidéo du moniteur de ressources CPU dans Plex : https://www.fromsmash.com/plex
Le premier plateau correspond au lancement du transcodage du film puis on voit que ça se calme avec l'utilisation par Plex aux alentours de 30% de CPU (ligne verte).
Le second plateau correspond au moment où j'ai fait un gros saut dans la lecture de la vidéo : le système a du se reconstituer un cache d'images transcodées, puis ça se calme à nouveau.
Ce comportement correspond-il au transcodage matériel ?

 

Posté(e)
  • Auteur

Modification pour la partie transcodage en rajoutant des droits :

chmod 660 /dev/dri/card0

Le docker utilise maintenant les pilotes officiels du dépôt d’Intel, il réclame les droits dessus.

Posté(e)
Il y a 7 heures, Einsteinium a dit :

Modification pour la partie transcodage en rajoutant des droits :

chmod 660 /dev/dri/card0

Le docker utilise maintenant les pilotes officiels du dépôt d’Intel, il réclame les droits dessus.

Le chmod n'était pas déjà en 660 ?
Je viens de vérifier mon script lancé au démarrage du NAS et il est déjà en 660. Depuis longtemps XD 

Posté(e)
  • Auteur

@MilesTEG1 Seulement sur le render128 avant, les nouveaux drivers demande maintenant aussi card0, je ne donne jamais de droit superflus pour ma part si ce n’est pas nécessaire 😉

Posté(e)
il y a 21 minutes, Einsteinium a dit :

@MilesTEG1 Seulement sur le render128 avant, les nouveaux drivers demande maintenant aussi card0, je ne donne jamais de droit superflus pour ma part si ce n’est pas nécessaire 😉

Haa, voilà mon script :

#!/bin/bash

# Script de modification de permissions sur l'interface de l'IGPU du NAS
# Pour que le media-serveur puisse transcoder avec le hardware.

#Startup Script
#Access for HW Decoder Plex/Emby/Jellyfin
echo -e "\n$(date "+%R:%S -") Script de modification de permissions sur l'interface de l'IGPU du NAS\n"
echo -e "$(date "+%R:%S -") Lancement de la commande : sudo chmod 660 /dev/dri/card0 /dev/dri/renderD128\n"

if [ -d /dev/dri ]; then
  sudo chmod 660 /dev/dri/renderD128
fi

echo -e "$(date "+%R:%S -") Script terminé\n"

exit 0

Il faut donc que je le modifie pour donner l'accès à card0, c'est ça ?

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.

Invité
Répondre à ce sujet…

Qui est en ligne (Afficher la liste complète)

  • Il n’y a aucun utilisateur enregistré actuellement en ligne

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.