Aller au contenu

Jellyfin, une solution de streaming média auto-hébergée

Dernière mise à jour: mai 2022. Destiné aux utilisateurs chevronnés. De solides compétences techniques sont requises.

Jellyfin


Jellyfin est une solution de streaming multimédia auto-hébergée pour votre serveur Ubuntu. Diffusez des films, des émissions de télévision et de la musique sur n'importe quel appareil. Jellyfin est un logiciel libre, rapide et élégant. Il peut prendre en charge plusieurs utilisatrices et utilisateurs, la télévision en direct, la gestion des métadonnées, les plugins, divers clients, etc.


Installation Jellyfin

Installation

Le processus d'installation de Jellyfin est assez simple. Plus de détails ci-dessous.

Montrez-moi le guide étape par étape

Connectez-vous au serveur, puis exécutez les commandes suivantes pour ajouter le dépôt à la liste des sources apt et installer le logiciel :

sudo apt install apt-transport-https
sudo apt-get install software-properties-common
sudo add-apt-repository universe
curl -fsSL https://repo.jellyfin.org/ubuntu/jellyfin_team.gpg.key | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/debian-jellyfin.gpg
sudo echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/ubuntu $( lsb_release -c -s ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin
Montrez-moi une vidéo récapitulative (1min)

Solution de contournement temporaire pour Ubuntu 22.04

Au moment d'écrire ces lignes, Jellyfin ne peut pas être installé à partir des dépôts d'Ubuntu 22.04 en utilisant les instructions décrites ci-dessus. Ceci est principalement dû au fait que Jellyfin 10.7.7 dépend de libssl1, qui n'est plus supporté par Ubuntu 22.04. Installez plutôt Jellyfin 10.8.0 Beta 3 en guise de solution de contournement temporaire.

Activez les dépôts Universe :

sudo add-apt-repository universe
sudo apt update

Téléchargez les paquets .deb de Jellyfin :

wget https://repo.jellyfin.org/releases/server/ubuntu/stable-pre/10.8.0-beta3/web/jellyfin-web_10.8.0~beta3_all.deb
wget https://repo.jellyfin.org/releases/server/ubuntu/stable-pre/10.8.0-beta3/server/jellyfin-server_10.8.0~beta3_amd64.deb
wget https://repo.jellyfin.org/releases/server/ubuntu/stable-pre/ffmpeg/jellyfin-ffmpeg5_5.0.1-4-jammy_amd64.deb

Installez les dépendances requises :

sudo apt install at libsqlite3-0 libfontconfig1 libfreetype6

Installez les paquets .deb téléchargés :

sudo dpkg -i jellyfin-*.deb

Corrigez les dépendances manquantes :

sudo apt -f install

Redémarrez le service Jellyfin et assurez-vous que le statut est bien Active :

sudo systemctl restart jellyfin
sudo systemctl status jellyfin


Configuration Jellyfin

Configuration

Après avoir installé Jellyfin avec succès, nous allons configurer un certain nombre de paramètres tels que le démarrage automatique, les comptes utilisateurs, les préférences linguistiques, etc. Des instructions plus détaillées sont disponibles ci-dessous.

Montrez-moi le guide étape par étape

Démarrage automatique

Assurez-vous que Jellyfin se lance automatiquement à chaque démarrage du serveur :

sudo systemctl daemon-reload
sudo systemctl enable jellyfin

Redémarrez le serveur :

sudo reboot

Assurez-vous que Jellyfin est démarré et opérationnel (le statut devrait être "Active") :

sudo systemctl status jellyfin

Configuration initiale

Nous allons accéder à l'interface web de Jellyfin pour effectuer la configuration initiale. Pour cela, nous devons ouvrir temporairement le port 8096 sur le pare-feu :

sudo ufw allow 8096/tcp

Allez maintenant sur http://192.168.1.100:8096 (à ajuster en conséquence) et suivez l'assistant de configuration initiale :

Instructions Description
Langue d'affichage préférée Sélectionnez votre langue préférée, par exemple le français.
Nom d'utilisateur : Saisissez un nom d'utilisateur pour l'administrateur Jellyfin. Pour ce tutoriel, nous appellerons cet administrateur jellyfinadmin. Bien sûr, vous pouvez choisir n'importe quel nom, assurez-vous simplement d'ajuster les commandes en conséquence.
Mot de passe Saisissez un mot de passe fort et unique pour l'administrateur Jellyfin.
Configurer vos médiathèques Vous pouvez ajouter de la musique, des films ou des émissions de télé à Jellyfin maintenant, ou à tout moment ultérieur à partir du tableau de bord. Les médias doivent être stockés sur : le stockage du serveur, un lecteur externe connecté au serveur ou un périphérique de stockage réseau directement monté sur le système d'exploitation.
Langue de métadonnées préférée Sélectionnez votre langue préférée, par exemple le français.
Configurer l'accès à distance Ne pas autoriser l'accès à distance.

Une fois la configuration initiale terminée, fermez le port 8096 :

sudo ufw delete allow 8096/tcp
Montrez-moi une vidéo récapitulative (2min)


Interface web de Jellyfin

Interface web

Nous allons configurer un hôte virtuel Apache comme proxy inverse pour accéder à l'interface web de Jellyfin. Continuez votre lecture ci-dessous pour plus de détails.

Montrez-moi le guide étape par étape

Créez un fichier de configuration Apache :

sudo vi /etc/apache2/sites-available/mymedia.gofoss.duckdns.org.conf

Ajoutez le contenu suivant et assurez-vous de régler les paramètres selon votre propre configuration, comme les noms de domaines (mymedia.gofoss.duckdns.org), chemins vers les clés SSL, adresses IP et ainsi de suite :

<VirtualHost *:80>

  ServerName mymedia.gofoss.duckdns.org
  ServerAlias www.mymedia.gofoss.duckdns.org
  Redirect permanent / https://mymedia.gofoss.duckdns.org/

</VirtualHost>

<VirtualHost *:443>

  ServerName  mymedia.gofoss.duckdns.org
  ServerAlias www.mymedia.gofoss.duckdns.org
  ServerSignature Off

  SecRuleEngine Off
  SSLEngine On
  SSLCertificateFile  /etc/dehydrated/certs/gofoss.duckdns.org/fullchain.pem
  SSLCertificateKeyFile /etc/dehydrated/certs/gofoss.duckdns.org/privkey.pem
  DocumentRoot /var/www

  <Location />
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
    Allow from 192.168.1.0/24
    Allow from 10.8.0.1/24
  </Location>

  ProxyPreserveHost On
  ProxyPass "/socket" "ws://127.0.0.1:8096/socket"
  ProxyPassReverse "/socket" "ws://127.0.0.1:8096/socket"
  ProxyPass "/" "http://127.0.0.1:8096/"
  ProxyPassReverse "/" "http://127.0.0.1:8096/"

  ErrorLog ${APACHE_LOG_DIR}/mymedia.gofoss.duckdns.org-error.log
  CustomLog ${APACHE_LOG_DIR}/mymedia.gofoss.duckdns.org-access.log combined

</VirtualHost>

Une fois que le contenu est ajouté, sauvez et quittez le fichier (:wq!).

Notez comment nous avons activé le chiffrement SSL pour Jellyfin avec l'instruction SSLEngine On, et utilisé le certificat SSL /etc/dehydrated/certs/gofoss.duckdns.org/fullchain.pem ainsi que la clé privée SSL /etc/dehydrated/certs/gofoss.duckdns.org/privkey.pem, que nous avions créés précédemment.

Notez également comment nous avons désactivé ModSecurity dans le fichier de configuration d'Apache avec l'instruction SecRuleEngine Off, car Jellyfin et ModSecurity ne font pas bon ménage.

Maintenant, activez les hôtes virtuels d'Apache et redémarrez Apache :

sudo a2ensite mymedia.gofoss.duckdns.org.conf
sudo systemctl reload apache2

Configurez Pi-Hole pour résoudre l'adresse locale de Jellyfin. Naviguez vers https://mypihole.gofoss.duckdns.org et connectez-vous à l'interface web de Pi-Hole (ajustez en conséquence). Naviguez vers l'entrée Local DNS Record et ajoutez la combinaison domaine/IP suivante (ajustez en conséquence) :

DOMAIN:      mymedia.gofoss.duckdns.org
IP ADDRESS:  192.168.1.100

Naviguez jusqu'à https://mymedia.gofoss.duckdns.org et connectez-vous comme jellyfinadmin (à ajuster en conséquence) ou avec tout autre compte Jellyfin valide.

Montrez-moi une vidéo récapitulative (1min)


Clients Jellyfin

Clients

Jellyfin prend en charge différents clients pour les ordinateurs, les télés ou les appareils mobiles. Choisissez votre client préféré et suivez les instructions d'installation fournies sur le site de Jellyfin.


Ajouter des utilisateurs à Jellyfin

Ajouter des utilisatrices et utilisateurs

Jellyfin différencie deux types d'utilisateurs:

  • Les administrateurs ont un accès complet à Jellyfin. Ils peuvent ajouter, modifier et supprimer des médias ainsi que des utilisatrices et utilisateurs. De plus, les administrateurs peuvent maintenir et mettre à jour Jellyfin. Dans notre exemple, l'administrateur jellyfinadmin a été créé pendant le processus d'installation. D'autres administrateurs peuvent être ajoutés.

  • Les Utilisateurs n'ont qu'un accès limité à Jellyfin. Les fonctionnalités sont configurables individuellement pour chaque utilisatrice et chaque utilisateur.

Montrez-moi le guide étape par étape

Instructions Description
Connexion Naviguez sur https://mymedia.gofoss.duckdns.org et connectez-vous en tant qu'administrateur, par exemple jellyfinadmin (à ajuster en conséquence).
Paramètres Naviguez vers Menu ‣ Tableau de bord ‣ Utilisateurs ‣ Ajouter des utilisateurs.
Ajouter des utilisateurs Saisissez un nom d'utilisateur, ainsi qu'un mot de passe fort et unique. Cliquez ensuite sur Sauvegarder. Définissez également les médiathèques auxquelles cette utilisatrice ou cet utilisateur peut accéder.
Définir les droits des utilisateurs Facultatif : définissez d'autres paramètres, tels que :
• Les droits d'administrateur
• l'accès au « Live TV »
• Le transcodage
• La restriction du débit internet
• L'autorisation de supprimer des fichiers multimédias
• La télécommande
• Le verrouillage de compte
• L'accès aux médiathèques et aux appareils
• Le contrôle parental
• Le code NIP

Montrez-moi une vidéo récapitulative (1min)

Administrateurs, utilisateurs et utilisatrices ont besoin d'un accès VPN

Tout.e.s les utilisateurs et utilisatrices doivent être connecté.e.s via VPN pour accéder à Jellyfin.


Sous-titres Jellyfin

Sous-titres

Jellyfin prend en charge les sous-titres intégrés et externes. L'extension « Open Subtitle » permet à Jellyfin de télécharger automatiquement les sous-titres. Vous trouverez ci-dessous des instructions détaillées.

Montrez-moi le guide étape par étape

Instructions Description
Connexion Naviguez sur https://mymedia.gofoss.duckdns.org et connectez-vous en tant qu'administrateur, par exemple jellyfinadmin (à ajuster en conséquence).
Installation de l'extension Naviguez vers Menu ‣ Tableau de bord ‣ Extensions ‣ Catalogue ‣ Open Subtitles et cliquez sur Installer.
Redémarrage Allez dans Menu ‣ Tableau de bord et cliquez sur Redémarrer.
Configuration de l'extension L'extension « Open Subtitle » ne nécessite pas de compte pour télécharger les sous-titres. Facultatif: vous pouvez créer un compte sur https://www.opensubtitles.org. Ensuite, naviguez vers Menu ‣ Tableau de bord ‣ Extensions ‣ Open Subtitles ‣ Paramètres et saisissez vos identifiants « Open Subtitle ».
Paramètres Naviguez vers Menu ‣ Médiathèques ‣ Films ou séries télé ‣ Gérer la médiathèque et définissez les paramètres dans la section Téléchargements de sous-titres :

• Langues de téléchargement
• Téléchargement de sous-titres
• Filtrez les sous-titres en fonction du nom du fichier et de l'audio
• Emplacement pour stocker les sous-titres
Téléchargement des sous-titres Jellyfin programme automatiquement une tâche pour télécharger régulièrement les sous-titres manquants. Pour forcer le téléchargement, naviguez dans Menu ‣ Tableau de bord ‣ Tâches programmées et cliquez sur Télécharger les sous-titres manquants.

Montrez-moi une vidéo récapitulative (3min)


Mise à jour Jellyfin

Mise à jour

Les mises à jour de Jellyfin sont automatiquement gérées par le gestionnaire de paquets du serveur Ubuntu. Pour effectuer une mise à niveau manuelle, suivez les instructions ci-dessous.

Montrez-moi le guide étape par étape

Connectez-vous au serveur et exécutez la commande suivante :

sudo apt update && sudo apt upgrade

Ensuite, redémarrez Jellyfin et vérifiez que tout fonctionne (l'état doit être "Active") :

sudo systemctl restart jellyfin
sudo systemctl status jellyfin


Assistance Jellyfin

Assistance

Pour davantage de précisions, consultez la documentation de Jellyfin ou demandez de l'aide à la communauté Jellyfin.