
Sommaire
Introduction
Dans cet article, nous allons voir comment installer Jellyfin avec docker compose en configurant le transcodage (aussi appelé accélération matérielle) sur un hyperviseur Proxmox.
Jellyfin est un système multimédia logiciel libre qui vous permet de contrôler la gestion et la diffusion de vos médias. Il s’agit d’une alternative aux systèmes propriétaires Emby et Plex. Jellyfin est totalement open source et il est possible de l’auto-héberger entièrement. En quelques mots, c’est comme un Netflix à la maison !
Installation
Préparation de proxmox
Tout d’abord, si vous souhaitez configurer le transcodage, vous devrez modifier le fichier de configuration grub de votre serveur proxmox.
On édite le fichier /etc/default/grub
sudo nano /etc/default/grub
Et on ajoute « quiet intel_iommu=on » à la valeur GRUB_CMDLINE_LINUX_DEFAULT

Et on met à jour puis redémarre
sudo update-grub
sudo reboot
Installation de jellyfin
Une fois votre serveur Proxmox prêt, il vous faudra créer une machine virtuelle Debian sans utiliser le cloud-init car cette fonctionnalité n’est pas adaptée à la fonctionnalité passthrought.
Le passthrough vous permet d’utiliser un périphérique physique (carte graphique, carte réseau, etc.) à l’intérieur d’une VM, et c’est la puce graphique du processeur que nous allons utiliser dans notre VM qui hébergera Jellyfin.
Sur votre machine virtuelle avec docker compose d’installé, nous allons créer un dossier de travail puis un fichier docker-compose.yml qui contiendra les volumes, les variables d’environnement, la configuration de la carte graphique, etc.
Les valeurs restent à adapter selon vos besoins.
sudo mkdir jellyfin && cd jellyfin
sudo nano docker-compose.yml
Composition du docker compose
version: '3.5'
services:
jellyfin:
image: jellyfin/jellyfin
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- DOCKER_MODS= linuxserver/mods:jellyfin-opencl-intel
volumes:
- /home/colin/docker/jellyfin/data:/config
- /mnt/media/Séries:/data/tvshows
- /mnt/media/Films:/data/movies
ports:
- 8096:8096
# - 8920:8920 #optional
# - 7359:7359/udp #optional
# - 1900:1900/udp #optional
restart: unless-stopped
devices:
- /dev/dri/renderD128:/dev/dri/renderD128
On lance le conteneur
sudo docker compose up -d
Si tout va bien, votre conteneur se lance et votre application est joignable à travers un navigateur sur le port sélectionné et l’adresse IP de votre serveur.
Exemple : http://192.168.100.209:8096/
Nous pouvons débuter la configuration !
Sélection de la langue d’affichage

Création d’un compte administrateur

Création des médiathèques (pour vos films, séries, etc.)

Configuration de la langue de métadonnées de vos données

Autoriser l’accès à distance sur le serveur Jellyfin

Le serveur est prêt, il va scanner tous vos dossiers qui contiennent des données multimédias défini dans votre docker compose et ordonner les informations.

Vous pouvez scanner vos bibliothèques dans votre tableau de bord pour détecter vos médias dans vos différentes bibliothèques !

Vous pouvez également créer des utilisateurs, non administrateur, pour se connecter !
Je vous encourage à explorer toutes les options disponibles sur la plateforme !
Configuration du transcodage
L’ajout de la carte graphique a été configuré dans le docker compose, il reste uniquement à activer les fonctionnalités dorénavant
Dans votre interface Jellyfin, vous devrez vous rendre dans le tableau de bord en premier lieu

Ensuite, rendez-vous dans l’onglet Lecture

Vous pouvez activer le décodage matériel pour les types de fichier que vous voulez :

Conclusion
L’installation de Jellyfin avec Docker Compose sur un hyperviseur Proxmox, en configurant le transcodage matériel permet de bénéficier d’une solution de gestion multimédia puissante et open source. Jellyfin offre une alternative libre aux solutions propriétaires comme Emby et Plex, avec l’avantage supplémentaire de pouvoir être entièrement auto-hébergé. Vous pouvez décider de mettre en ligne votre application Jellyfin avec un reverse proxy tel que SWAG.