Plex dans proxmox + nuc

Plex ou Kodi, cette question je ne vais pas l’aborder… Dans cet article, nous allons voir :

– comment créer un conteneur LXC sur proxmox,
– activer l’accélération graphique intel dedans,
– le connecter au stockage NFS gros volume créé précédemment,
– installer et configurer plex

1 – Création d’un conteneur pour Plex

Si necessaire, vous pouvez suivre le guide de création de container sur ce site

Voici les valeurs que j’utilise sur mon conteneur Plex perso :

  • IMPORTANT : Pour permettre l’accélération graphique de plex DECOCHEZ « Unprivilege container »
  • Ubuntu 19.04
  • 1Go de Ram
  • 4Go de drive (les médias sont chez moi dans un stockage réseau partagé NFS)
  • Notez l’id de création (pour moi c’était 105)

2 – L’accélération graphique !

Pour plex l’accélération graphique est primordiale pour l’encodage vidéo. Intel a un CGU intégré dans le nuc, mais il faut préparer le debian qui porte proxmox. C’est un peu fastidieu, mais ca soulagera énormément le cpu !

Voici comment faire :

1 – L’accélération graphique dans le host PROXMOX

Ouvrez un shell sur votre PVE

Ajoutez le driver intel et l’outil pour tester que tout a fonctionné. Enfin, lancez l’outil

apt-get install i965-va-driver
apt-get install vainfo
vainfo
Résultat de vainfo qui montre que le driver de la cg fonctionne

Récupérez les informations de bus de la cg

ls -l /dev/dri

Notez les IDs :
card0 : 226, 0
renderD128 : 226,128

2 – Utiliser l’accélération graphique dans notre container

Maintenant, nous allons utiliser ces informations dans le conteneur créé ci-dessus ! Selon l’ID choisi (pour moi 105, donc 105.conf)

nano /etc/pve/lxc/105.conf

Ajoutez en fin de fichier toutes ces lignes (toujours changer l’id 105 par le votre si nécessaire à la fin)

lxc.cgroup.devices.allow = c 226:0 rwm
lxc.cgroup.devices.allow = c 226:128 rwm
lxc.cgroup.devices.allow = c 29:0 rwm
lxc.autodev: 1
lxc.hook.autodev:/var/lib/lxc/105/mount_hook.sh

La dernière ligne est un script shell qui permettra de faire le mount à chaque démarrage du container. Nous allons maintenant éditer ce script. (Encore une fois remplacez 105 par votre id)

nano /var/lib/lxc/105/mount_hook.sh

Ajoutez les lignes suivantes :

mkdir -p ${LXC_ROOTFS_MOUNT}/dev/dri
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/card0 c 226 0
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/dri/renderD128 c 226 128
mknod -m 666 ${LXC_ROOTFS_MOUNT}/dev/fb0 c 29 0

Voilà, le conteneur est prêt, vous pouvez le lancer !

Attention : si le conteneur démarre pas, assurez-vous qu’il est bien identifié en tant que container privilégié en étape 1. Si ce n’est pas le cas, la technique est de backup le conteneur, de le restore immédiatement par dessus en décochant « unprivilege »

3 – Connecter le container au NFS

Allez dans la console du container

Installez le package nfs-common

apt install nfs-common

Créez un point de montage cible :

mkdir -p /dataStorage

Ajoutez dans ce point de montage dans fstab (nano /etc/fstab ou la ligne de commande suivante)
Note : l’ip du serveur est celle de notre proxmox, si vous avez suivi mon guide NFS
Note 2 : Soyez sur d’avoir créé un profile with-nfs pour apparmor et de l’utiliser pour le container de Plex

sed -i '$a 192.168.86.125:/mnt/dataStorage  /dataStorage nfs rw 0 0' /etc/fstab
mount -a

4 – Installer et configurer plex

Téléchargez la dernière version en cours de plex. Puis installez la
Exemple ubuntu 16.04+ 64 bit :

wget https://downloads.plex.tv/plex-media-server-new/1.18.1.1973-0f4abfbcc/debian/plexmediaserver_1.18.1.1973-0f4abfbcc_amd64.deb

sudo dpkg -i plexmediaserver*.deb

Démarrez plex et relancez-le automatiquement au reboot :

sudo systemctl enable plexmediaserver.service
sudo systemctl start plexmediaserver.service

Bonus : Pour prévoir l’update de plex via apt package, il faut ajouter le repo

dpkg -L plexmediaserver
sudo nano /etc/apt/sources.list.d/plexmediaserver.list

Décommenter la dernière ligne

Ajoutez la signature et le repo

apt-get install gnupg
wget -q https://downloads.plex.tv/plex-keys/PlexSign.key -O - | sudo apt-key add -
sudo apt update

Enfin, connectez-vous à votre serveur plex (remplacez l’ip par la votre)

http://192.168.86.130:32400/web/

Dernier point concernant l’accélération matérielle, allez dans Paramètres>transcoder et vérifiez que vous avez accès aux options avancées. Cocher enfin la case « Utiliser l’accélération matérielle »

Vous aimerez aussi...