Forum des NAS

Tous les fabricants de NAS réunis sur un forum unique : Asustor, Qnap, Synology...

Les tutoriaux rédigés par les membres
#91900
Bonjour,
Un nouveau petit tuto pour vous apprendre a installer Plex en Docker sur votre NAS Synology, mais également, a activer le transcodage matériel* ou hardware ( HW ).

* Le transcodage hardware nécessite un Plex Pass et un NAS disposant d'un CPU comprenant un GPU.

Image

Pré-Requis :
Avoir un NAS Synology compatible avec Docker.
[Tuto] Connaitre le PUID / PGID d'un utilisateur.


Sommaire :
1/ Télécharger le conteneur
2/ Création du dossier d'installation
3/ Récupération du PUID / PGID
5/ Paramétrage du conteneur
6/ Accès a plex
7/ Activer le transcodage hardware (HW)
_____A/ Application des permissions sur /dev/dri
_____B/ Modification du .json
_____C/ Activation du transcodage sur Plex
_____D/ Controler que le transcodage hardware fonctionne


1/ Télécharger le conteneur
Nous allons télécharger le conteneur linuxserver/plex, pour cela nous allons ouvrir docker et se rendre dans Registre et rechercher "plex".
Image
Une fois l'image linuxserver/plex, on clique dessus, puis sur Télécharger, on sélectionnera "latest".

2/ Création du dossier d'installation
Plex à besoin d'un dossier sur le NAS, ou il va pouvoir s'installer, enregistrer sa database, les métadonnées, ... et un autre pour le transcodage.
Dans mon cas, j'ai choisi de le mettre dans un dossier partagé "docker", j'y est donc créé un dossier "plex" et dans ce dossier un dossier "config" et un dossier "transcode"
Le chemin d’accès a ces dossiers, pour ce tuto, sera donc /docker/plex/config et /docker/plex/transcode, ils seront à modifier suivant vos choix.

3/ Création d'un utilisateur "plex"
Depuis l'interface DSM, nous allons dans Panneau de configuration > Utilisateur créer un utilisateur pour plex, ici, je vais l'appeler "plex".
Cet utilisateur devra avoir les droits en lecture/écriture sur le dossier docker/plex et ce qu'il contient, et également sur vos médias ( afin que Plex puisse les indexer ).

4/ Récupération du PUID / PGID
Il va falloir associer notre conteneur à l'utilisateur "plex", pour cela il faut connaitre le PUID et le PGID de cette utilisateur, pour cela, je vous laisse utiliser ce tuto : [Tuto] Connaitre le PUID / PGID d'un utilisateur.
On notera le PUID/PGID de l'utilisateur choisi, on va en avoir besoin juste après !

5/ Paramétrage du conteneur
Une fois l'image fini de télécharger, nous allons dans Image, nous sélectionnons linuxserver/plex:latest et on clique sur Lancer.
Cette fenêtre s'affiche :
Image
Il est possible de modifier, le nom "linuxserver-plex1" qui est un nom par défaut, se nom sera le nom de votre conteneur t'elle qu'il apparaitra dans le liste de conteneur de Docker. On peut le nommer par exemple "Plex" tout simplement.
Je vous conseil d'activer la limitation des ressources :
Image
Priorité Moyen, par defaut c'est tres bien.
Pour la RAM tout dépend de la quantité dispo sur votre machine, mais 2048Mo et a mon sens un minimum pour Plex.

Ensuite, on clique sur Paramêtres Avancés, dans Volumes :
Pour le fonctionnement de plex, 2 dossiers sont obligatoires :
/config et / transcode
Il vous faut les ajouter dans les volumes comme ceci :
Image
Dans l'onglet "Volume", nous allons cliquer sur "Ajouter un dossier" et choisir le dossier "config" que nous avons créé précédemment pour l'installation de l'image. Le chemin de ce dossier sera /config. Idem pour /transcode.
Afin que plex accede a vos média, vous allez devoir lui donner acces, je vous est fait un exemple avec le dossier /music présent sur mon nas.
J'ai placé /music dans /data/music, a vous de faire la suite si par exemple, vous avez un dossier films, vous le placé de la meme façon, cliquer sur Ajouter un dossier, selectionner votre dossier /films, et dans la partie Chemins d'accès, indiquer : /data/films, ...

Dans l'onglet Réseau, nous allons cocher "Utiliser le même réseau que Docker Host"

Dans l'onglet Environnement, nous allons rajouter 3 variables :
VERSION, ici on choisi latest
TZ, c'est le fuseau horaire, j'ai choisi Europe/Paris.
PGID, Group id ( voir point 3/ du tuto ) ( dans mon exemple c'est 100 )
PUID, User id ( voir point 3/ du tuto ) ( dans mon exemple c'est 1030 )
Image

Maintenant, on clique sur "Appliquer", puis "Suivant", et on arrive a la page suivante :
Image

On clique sur "Appliquer" et le conteneur se créer, et démarre.
Dans l'onglet "Conteneur", on peu vérifier que notre conteneur est bien démarré !

6/ Accès a plex
Dans votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 32400 et /web pour se connecter a l'interface Web de Plex.
Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:32400/web
Bien sur, si le pare-feu de votre NAS est actif, ce port devra être autorisé dans celui-ci !

A la 1ere connexion, il vous faudra réclamer le serveur plex avec votre compte Plex.tv. Cette étape ne peut être faite que en locale, via une machine sous le meme adresse IP que le serveur plex ( donc pas via un VPN, ... ) en cas de réclamation via un VPN, il vous faudra créer un tunnel SSH entre vous et le NAS.

7/ Activer le transcodage hardware (HW)
Attention, le NAS doit être compatible afin de permettre le transcodage hardware, de plus il faut disposer d'un Plex Pass.

A/ Application des permissions sur /dev/dri
Dans Panneau de configuration > Planifficateur de tâches, nous allons créer une nouvelle taches ( Taches Planifié > Script défini par l'utilisateur )
Image

Je nomme la tache HW Plex, l'utilisateur doit rester "root".
Image

Dans Paramètres de la tache, je rentre le script suivant :

Code : Tout sélectionner
#!/bin/bash
#Startup Script
#Access for HW Decoder Plex
chmod 666 /dev/dri/renderD128
exit

On peut, si on le souhaite, être averti par mail du bon déroulement de la tache, ou non.
Image

Maintenant, on clique sur OK, pour valider la création de la tâche.
Notre tache apparait dans la liste de tâches, on la sélectionne, et on l'Execute une 1ere fois !
Image

B/ Modification du .json
Pour éviter tout soucis d'encodage, je vous conseil de le faire directement depuis DSM, à l'aide du paquets : Editeur de texte
Il vous faut donc au préalable, aller dans Centre des paquets, et installer ce paquets si vous ne l'avez pas encore !
Image

Ensuite, nous allons dans Docker, Conteneurs et on s'il est en route, on arrete le conteneur Plex
Puis, nous allons Exporter la configuration dans un dossier de DSM :
Image

Ici je l'exporte dans /docker/Plex
Image

Maintenant, via File Station, je vais dans le dossier comprenant mon fichier exporté, chez moi /docker/Plex, et dessus je clique droit pour l'ouvrir avec l'éditeur de texte :
Image

Le début du fichier va resembler à ceci :
Image

ll vous faudra remplacer ceci :

Code : Tout sélectionner
"devices" : null,

Par :

Code : Tout sélectionner
"devices" : [
      {
         "CgroupPermissions" : "rwm",
         "PathInContainer" : "/dev/dri",
         "PathOnHost" : "/dev/dri"
      }
   ],

Voici ce que cela devrait vous donner :
Image

Vous pouvez maintenant enregistrer le fichier :
Image

Maintenant que notre fichier est prêt, nous allons l'exporter dans Docker, afin de remplacer notre conteneur Plex.
Dans l'application Docker > Conteneur, nous allons supprimer le conteneur Plex actuel :
Image
Cette étape supprime le conteneur et sa configuration* uniquement, mais ni plex ou vos médias.

*configuration qui est contenu dans le fichier .json précédemment modifié !

Une fois, fait, nous allons Importer notre nouveau fichier .json de configuration de plex :
Image

On le sélectionne, et on valide, le conteneur va alors se créer :
Image

Maintenant, nous démarrons notre conteneur Plex grâce au petit bouton en bout de ligne du conteneur plex :
Image


------------

C/ Activation du transcodage sur Plex
Depuis l'interface de Plex : Paramètres > Transcodeur
Le dossier tampon pour le transcodage doit être renseigné :
Image
Si vous avez suivit le tuto pour l'installation, le dossier est /transcode, si ce n'est pas le cas, le dossier peut être différent suivant se que vous avez renseigné a l'installation de Plex.

Ensuite, juste en dessous, il faut coché les deux cases suivante :
Image

Puis vous enregistrez les modifications :
Image

D/ Controler que le transcodage hardware fonctionne
Afin de contrôler que le transcodage fonctionne, il vous suffit de lancer, une video, et d'abaisser la qualité afin de forcer plex a transcoder.
Pendant la lecture, rendez-vous dans le Tableau de Bord :
Image
Ici le (hw) nous confirme le fonctionnement du transcodage hardware !

#91937
Salut,
L'installation Docker apporte une couche de sécurité.
Elle simplifie aussi la gestion ( tous les conteneurs au memes endroit ).
L'installation est plus "propre" elle ne pollue pas le NAS.
Les mise à jours de Plex sont simplifié ( un redémarrage suffit pour que la maj soit appliqué )
...
#91938
J'utilise Plex via le centre de paquet synology, les mises à jour se font sans redémarrage, sans intervention, en automatique avec un script qui scanne quotidiennement les mises à jour de PMS.
Tout est dans un dossier /Plex/
La sécurité se fait via l'option réseau avec un certificat personnalisé PKCS #12 ( un pfx issu de let's encrypt). renouvellement automatique également.
J'utilise Tautulli par contre via Docker et je pense installer Ombi prochainement via Docker également. Pour ces deux appli, Docker est plus simple, et ne sont pas disponibles dans le centre de paquet.
Je n'ai pas trouvé de sujet sur Ombi sur le forum, je ne sais pas si il y en a un.
#91959
cadkey a écrit : 05 juin 2020 11:58J'utilise Plex via le centre de paquet synology, les mises à jour se font sans redémarrage, sans intervention, en automatique avec un script qui scanne quotidiennement les mises à jour de PMS.

Mais cela te demande un script en +, donc au final cela reviens un peu au meme que docker. De plus pour Docker, cela nécessite un redémarrage, chose que je préfère a une installation automatique. Mais c'est avis plutôt personnel :)

cadkey a écrit : 05 juin 2020 11:58Tout est dans un dossier /Plex/

Malheuresement, non. Plex va par exemple, s'installer dans le répertoire /etc ... et laisser des traces dans les fichiers système de l'os. D'ailleurs Docker n'est pas sans défaut de se coté non plus. C'est image peuveut avoir tendance a polluer le volume mais le nettoyage est plutot facile meme s'il demande un acces SSH, mais est loin d'etre "infaisaible" comme le serrait le nettoyage complet d'une installation en "dur".

cadkey a écrit : 05 juin 2020 11:58La sécurité se fait via l'option réseau avec un certificat personnalisé PKCS #12 ( un pfx issu de let's encrypt). renouvellement automatique également.

Quand je parle sécurité, je parle principalement de fait que Plex soit "en prison" dans son conteneur, il n'a donc " en théorie" uniquement accès a se qu'on veut bien lui donner accès.

#91988
Salut,
Ton NAS est-il capable de transcoder en hard ? Quel est son modèle ?
Si ton NAS est bien capable, et qu'il ne possède pas /dri tu devrait installer et lancer le paquets Video Station ( afin de le forcer a créer le dossier /dri ) ensuite il n'a plus besoin d'etre lancer.

Bonjour, Je suis nouveau sur ce forum et j'esp&eg[…]

bien vu, sujet déplacé ;)

DS 414 qui ne démarre plus

Oui ils sont dans le même ordre Lien vers […]

Augmenter le stockage ?

J'étais déjà allé fai[…]

Site hébergé sur un serveur IKOULA

Ikoula