Utilisation du template debian-12-standard
Bien décocher "conteneur non privilégié"
Création du rootfs de 8Go
Configuration du conteneur avec 2 coeurs, 2Go de RAM
Au niveau du paramétrage DNS, renseigner home en DNS domain
Après le 1er démarrage du conteneur
- Activer Start at boot
- Activer l'option "SMB/CIFS"
Identification des numéros majeurs et mineurs des fichiers spéciaux associés aux périphériques de rendu
Sur le HOST, on exécute la commande suivante :
ls -l /dev/dri
Retour terminal :
crw-rw---- 1 root video 226, 0 Sep 30 22:08 card0
crw-rw---- 1 root render 226, 128 Sep 30 22:08 renderD128
Dans mon cas, le numéro majeur est 226 dans les 2 cas et les numéros mineurs sont 0 et 128
-
Sur le HOST PVE, éditer le fichier
/etc/pve/lxc/<ID>.conf
avec votre editeur préféré (nano, vim ...) -
Ajouter les lignes suivantes :
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/card0 dev/dri/card0 none bind,optional,create=file,mode=0666
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file
lxc.autodev: 1
Vous devrez ensuite redémarrer le conteneur pour que les modifications s'appliquent dans ce dernier.
apt install vainfo mesa-va-drivers
On execute ensuite vainfo
pour vérifier le bon fonctionnement
# Maj système
apt update
apt full-upgrade -y
# Maj le fuseau horaire
dpkg-reconfigure tzdata
# Installation du sudo et curl
apt install sudo curl -y
Suivre les instructions disponibles ici :
curl https://repo.jellyfin.org/install-debuntu.sh | bash
On ajoute le groupe sgx à l'utilisateur jellyfin car ce groupe peut accéder aux devices vidéos
ls -lha /dev/dri
usermod -aG sgx jellyfin
On redémarrez le conteneur
reboot
Dans son navigateur, entre l'URL http://localIP:8096
Dans le tableau de bord / Lecture :
- Sélectionner l'accélération matérielle VAAPI
- Paramétrer l'appareil VA-API
/dev/dri/renderD128
- Activer le transcodage matériel pour les codecs suivants : H264, HEVC, MPEG2, VC1, HEVC10 bits
- Sauvegarder
Se connecter en SSH sur le conteneur en tant que root et crée le script bash delete_ts_files.sh
suivant :
#!/bin/bash
# Specify the directory path
transcodes_directory="/var/lib/jellyfin/transcodes"
# Check if the directory exists
if [ -d "$transcodes_directory" ]; then
# Delete .ts files in the specified directory
find "$transcodes_directory" -type f -name "*.ts" -delete
echo "Deleted .ts files in $transcodes_directory"
else
echo "Error: Directory $transcodes_directory not found."
fi
Rendre ce script executable
chmod +x delete_ts_files.sh
Si besoin, planifier son execution dans cron
crontab -e
Pour une execution hebdomadaire chaque samedi à minuit
0 0 * * 6 /root/delete_ts_files.sh