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.
Pré-Requis :
Avoir un NAS Synology compatible avec Docker.
[Tuto] Connaitre le PUID / PGID d'un utilisateur.
Sommaire :
1/ Création du dossier d'installation
2/ Création d'un utilisateur "plex"
3/ Récupération du PUID / PGID
Méthode 1 : "classique" via Docker DSM :
___1/ Télécharger le conteneur
___2/ Paramétrage du conteneur
___3/ Accès a plex
___4/ Activer le transcodage hardware (HW)
_____A/ Modification du .json
_____B/ Activation du transcodage sur Plex
_____C/ Contrôler que le transcodage hardware fonctionne
Méthode 2 : via Portainer
Méthode 3 : via Docker-compose
Annexe 1 - Application des permissions sur /dev/dri
1/ 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.
2/ 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 ).
3/ 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 !
Méthode 1 : "classique" via Docker DSM :
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".
Une fois l'image linuxserver/plex, on clique dessus, puis sur Télécharger, on sélectionnera "latest".
2/ 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 :
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 :
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 :
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 )
Maintenant, on clique sur "Appliquer", puis "Suivant", et on arrive a la page suivante :
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é !
3/ 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.
4/ 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.
Note : Pour l'activation du transcodage matériel, voir Annexe 1 - Application des permissions sur /dev/dri avant de faire les étapes A, B et C suivantes.
A/ 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 !
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 :
Ici je l'exporte dans /docker/Plex
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 :
Le début du fichier va ressembler à ceci :
ll vous faudra remplacer ceci :
Par :
Voici ce que cela devrait vous donner :
Vous pouvez maintenant enregistrer le fichier :
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 :
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 :
On le sélectionne, et on valide, le conteneur va alors se créer :
Maintenant, nous démarrons notre conteneur Plex grâce au petit bouton en bout de ligne du conteneur plex :
B/ Activation du transcodage sur Plex
Depuis l'interface de Plex : Paramètres > Transcodeur
Le dossier tampon pour le transcodage doit être renseigné :
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 :
Puis vous enregistrez les modifications :
C/ 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 :
Ici le (hw) nous confirme le fonctionnement du transcodage hardware !
Méthode 2 : via Portainer : ( Merci @MilesTEG1 )
Après avoir fait les étapes : 1/ Création du dossier d'installation, 2/ Création d'un utilisateur "plex" et 3/ Récupération du PUID / PGID
Accèder a Portainer, et aller dans Stack :
Donner un nom a votre stack, par exemple "plex", et en dessous, coller le compose ci dessous :
Au besoin, le compose est aussi téléchargeable ici : Voir la pièce jointe docker-compose-plex.7z
Dans le compose, certains paramètres sont a modifier suivant votre configuration :
/volume1/docker/plex/config par le chemin vers votre dossier /plex/config.*
/volume1/docker/plex/transcode:/transcode par le chemin vers votre dossier /plex/transcode.*
PGID, Group id**( dans mon exemple c'est 100 )
PUID, User id** ( dans mon exemple c'est 1030 )
/volume2/medias_1, /volume2/medias_2, /volume2/medias_3 correspondent a vos dossiers de médias. L'option :ro signifie Read Only, si vous laissez cette option alors il ne sera pas possible de supprimer les médias depuis plex.
Si votre NAS n'est pas capable de transcoder matériellement, il faudra supprimer ces deux lignes :
mem_limit: 4096m - 4096 est la valeur maximal de ram en mégaoctet que plex pourra utiliser.
mem_reservation: 2048m - 2048 est la valeur de ram en mégaoctet réservé par le systeme pour plex.
* Point 1/ du tuto
** Point 3/ du tuto
Ensuite, pour créer le conteneur on clique sur "Deploy the stack" :
Note : Pour l'activation du transcodage matériel, voir Annexe 1 - Application des permissions sur /dev/dri
Méthode 3 : via Docker-compose :
Nous allons maintenant créer un fichier "docker-compose.yml" avec les paramètres du conteneur.
Celui-ci est a placer dans /volume1/docker/plex
Au besoin, le compose est aussi téléchargeable ici :
Dans le compose, certains paramètres sont a modifier suivant votre configuration :
/volume1/docker/plex/config par le chemin vers votre dossier /plex/config.*
/volume1/docker/plex/transcode:/transcode par le chemin vers votre dossier /plex/transcode.*
PGID, Group id**( dans mon exemple c'est 100 )
PUID, User id** ( dans mon exemple c'est 1030 )
/volume2/medias_1, /volume2/medias_2, /volume2/medias_3 correspondent a vos dossiers de médias. L'option :ro signifie Read Only, si vous laissez cette option alors il ne sera pas possible de supprimer les médias depuis plex.
Si votre NAS n'est pas capable de transcoder matériellement, il faudra supprimer ces deux lignes :
mem_limit: 4096m - 4096 est la valeur maximal de ram en mégaoctet que plex pourra utiliser.
mem_reservation: 2048m - 2048 est la valeur de ram en mégaoctet réservé par le systeme pour plex.
* Point 1/ du tuto
** Point 3/ du tuto
Une fois placer ce fichier docker-compose.yml dans votre dossier /volume1/docker/plex
En SSH, rendez-vous dans le dossier en question :
Ensuite, afin "d’exécuter" mon fichier docker-compose.yml, je tape en ssh :
La création du conteneur se fait, il devient visible dans l'appli "Docker" de DSM.
Note : Pour l'activation du transcodage matériel, voir Annexe 1 - Application des permissions sur /dev/dri
Annexe 1 - 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 )
Je nomme la tache HW Plex, l'utilisateur doit rester "root".
Dans Paramètres de la tache, je rentre le script suivant :
On peut, si on le souhaite, être averti par mail du bon déroulement de la tache, ou non.
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 !
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.

Pré-Requis :
Avoir un NAS Synology compatible avec Docker.
[Tuto] Connaitre le PUID / PGID d'un utilisateur.
Sommaire :
1/ Création du dossier d'installation
2/ Création d'un utilisateur "plex"
3/ Récupération du PUID / PGID
Méthode 1 : "classique" via Docker DSM :
___1/ Télécharger le conteneur
___2/ Paramétrage du conteneur
___3/ Accès a plex
___4/ Activer le transcodage hardware (HW)
_____A/ Modification du .json
_____B/ Activation du transcodage sur Plex
_____C/ Contrôler que le transcodage hardware fonctionne
Méthode 2 : via Portainer
Méthode 3 : via Docker-compose
Annexe 1 - Application des permissions sur /dev/dri
1/ 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.
2/ 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 ).
3/ 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 !
Méthode 1 : "classique" via Docker DSM :
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".

Une fois l'image linuxserver/plex, on clique dessus, puis sur Télécharger, on sélectionnera "latest".
2/ 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 :

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 :

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 :

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 )

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

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é !
3/ 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.
4/ 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.
Note : Pour l'activation du transcodage matériel, voir Annexe 1 - Application des permissions sur /dev/dri avant de faire les étapes A, B et C suivantes.
A/ 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 !

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 :

Ici je l'exporte dans /docker/Plex

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 :

Le début du fichier va ressembler à ceci :

ll vous faudra remplacer ceci :
Code:
"devices" : null,
Par :
Code:
"devices" : [
{
"CgroupPermissions" : "rwm",
"PathInContainer" : "/dev/dri",
"PathOnHost" : "/dev/dri"
}
],
Voici ce que cela devrait vous donner :

Vous pouvez maintenant enregistrer le fichier :

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 :

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 :

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

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

B/ Activation du transcodage sur Plex
Depuis l'interface de Plex : Paramètres > Transcodeur
Le dossier tampon pour le transcodage doit être renseigné :

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 :

Puis vous enregistrez les modifications :

C/ 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 :

Ici le (hw) nous confirme le fonctionnement du transcodage hardware !
Méthode 2 : via Portainer : ( Merci @MilesTEG1 )
Après avoir fait les étapes : 1/ Création du dossier d'installation, 2/ Création d'un utilisateur "plex" et 3/ Récupération du PUID / PGID
Accèder a Portainer, et aller dans Stack :

Donner un nom a votre stack, par exemple "plex", et en dessous, coller le compose ci dessous :
Code:
version: "2.4"
services:
linuxserver_plex:
image: ghcr.io/linuxserver/plex:amd64-latest
container_name: linuxserver_plex
network_mode: host
environment:
- PUID=1030 # Utiliser la commande (en SSH) : id NOM_UTILISATEUR
- PGID=100
- TZ=Europe/Paris
- UMASK=022 #optional
- VERSION=docker
# 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.
# ###############
# 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"
# Cette section permet de ne pas 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
Au besoin, le compose est aussi téléchargeable ici : Voir la pièce jointe docker-compose-plex.7z
Dans le compose, certains paramètres sont a modifier suivant votre configuration :
/volume1/docker/plex/config par le chemin vers votre dossier /plex/config.*
/volume1/docker/plex/transcode:/transcode par le chemin vers votre dossier /plex/transcode.*
PGID, Group id**( dans mon exemple c'est 100 )
PUID, User id** ( dans mon exemple c'est 1030 )
/volume2/medias_1, /volume2/medias_2, /volume2/medias_3 correspondent a vos dossiers de médias. L'option :ro signifie Read Only, si vous laissez cette option alors il ne sera pas possible de supprimer les médias depuis plex.
Si votre NAS n'est pas capable de transcoder matériellement, il faudra supprimer ces deux lignes :
Code:
devices:
- /dev/dri:/dev/dri #optional
mem_limit: 4096m - 4096 est la valeur maximal de ram en mégaoctet que plex pourra utiliser.
mem_reservation: 2048m - 2048 est la valeur de ram en mégaoctet réservé par le systeme pour plex.
* Point 1/ du tuto
** Point 3/ du tuto
Ensuite, pour créer le conteneur on clique sur "Deploy the stack" :

Note : Pour l'activation du transcodage matériel, voir Annexe 1 - Application des permissions sur /dev/dri
Méthode 3 : via Docker-compose :
Nous allons maintenant créer un fichier "docker-compose.yml" avec les paramètres du conteneur.
Celui-ci est a placer dans /volume1/docker/plex
Code:
version: "2.4"
services:
linuxserver_plex:
image: ghcr.io/linuxserver/plex:amd64-latest
container_name: linuxserver_plex
network_mode: host
environment:
- PUID=1030 # Utiliser la commande (en SSH) : id NOM_UTILISATEUR
- PGID=100
- TZ=Europe/Paris
- UMASK=022 #optional
- VERSION=docker
# 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.
# ###############
# 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"
# Cette section permet de ne pas 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
Au besoin, le compose est aussi téléchargeable ici :
Dans le compose, certains paramètres sont a modifier suivant votre configuration :
/volume1/docker/plex/config par le chemin vers votre dossier /plex/config.*
/volume1/docker/plex/transcode:/transcode par le chemin vers votre dossier /plex/transcode.*
PGID, Group id**( dans mon exemple c'est 100 )
PUID, User id** ( dans mon exemple c'est 1030 )
/volume2/medias_1, /volume2/medias_2, /volume2/medias_3 correspondent a vos dossiers de médias. L'option :ro signifie Read Only, si vous laissez cette option alors il ne sera pas possible de supprimer les médias depuis plex.
Si votre NAS n'est pas capable de transcoder matériellement, il faudra supprimer ces deux lignes :
Code:
devices:
- /dev/dri:/dev/dri #optional
mem_limit: 4096m - 4096 est la valeur maximal de ram en mégaoctet que plex pourra utiliser.
mem_reservation: 2048m - 2048 est la valeur de ram en mégaoctet réservé par le systeme pour plex.
* Point 1/ du tuto
** Point 3/ du tuto
Une fois placer ce fichier docker-compose.yml dans votre dossier /volume1/docker/plex
En SSH, rendez-vous dans le dossier en question :
Code:
cd /volume1/docker/plex
Ensuite, afin "d’exécuter" mon fichier docker-compose.yml, je tape en ssh :
Code:
sudo docker-compose up -d
La création du conteneur se fait, il devient visible dans l'appli "Docker" de DSM.
Note : Pour l'activation du transcodage matériel, voir Annexe 1 - Application des permissions sur /dev/dri
Annexe 1 - 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 )

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

Dans Paramètres de la tache, je rentre le script suivant :
Code:
#!/bin/bash
#Startup Script
#Access for HW Decoder Plex
chmod 666 /dev/dri/renderD128
exit

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 !

2021-04-02 : MAJ du tuto, UMASK_SET ne doit plus être utilisé, UMASK le remplace
2021-01-24 - Correction d'une erreur sur le screen de configuration des variables d'environnement ( methode 1 )
2021-01-04 - Ajout d'une méthode Portainer suite au message de MilesTEG1