Aller au contenu

Jellyfin, votre alternative à Netflix & Spotify

Jellyfin Jellyfin

Jellyfin est une solution multimédia auto-hébergée pour votre serveur Ubuntu. Streamez vos films, vos séries et votre musique sur n’importe quel appareil. Jellyfin est libre, open source, rapide et élégant. Il prend en charge plusieurs utilisatrices et utilisateurs, la télévision en direct, la gestion des métadonnées, les extensions, de nombreux clients, et plus encore.

Ce chapitre part du principe que vous avez déjà configuré votre serveur avec des mesures de sécurité de base et avancées, et activé un accès distant sécurisé.

Installation

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

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

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

sudo systemctl start jellyfin
sudo systemctl status jellyfin


Configuration Jellyfin

Configuration

Vous avez installé Jellyfin avec succès ! Vous pouvez maintenant configurer le démarrage automatique, les comptes utilisateurs, les préférences linguistiques, etc.

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 doit ê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 le cas échéant) 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 le cas échéant.
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


Interface web de Jellyfin

Interface web

Configurez un hôte virtuel Apache en tant que proxy inverse. Cela permet d’accéder à l'interface web de Jellyfin via une adresse personnalisée et de protéger le serveur d’une exposition directe à Internet. Lisez la suite pour plus de détails.

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

  <IfModule security2_module>
      SecRuleEngine Off
  </IfModule>

  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 le cas échéant). Naviguez vers l'entrée Local DNS Record et ajoutez la combinaison domaine/IP suivante (ajustez le cas échéant) :

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

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


Clients Jellyfin

Clients

Jellyfin prend en charge différents clients pour les ordinateurs, les télés ou les appareils mobiles. Choisissez l'un des clients officiels ou un client tiers et suivez les instructions d'installation.


Ajouter des utilisateurs à Jellyfin

Utilisatrices & utilisateurs

Jellyfin distingue deux types d'utilisateurs. Les administrateurs bénéficient d'un accès complet pour gérer les médias et les utilisateurs, et pour assurer la maintenance et mise à jour de Jellyfin. Dans notre exemple, l'administrateur jellyfinadmin a été créé lors du processus d'installation. Les utilisatrices et utilisateurs, quant à eux, ont un accès restreint à Jellyfin et peuvent profiter des médias en fonction de leurs droits d’accès.

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 le cas échéant).
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

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. Et grâce au plugin « Open Subtitle », Jellyfin peut télécharger automatiquement les sous-titres.

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 le cas échéant).
Installation de l'extension Naviguez vers Menu ‣ Tableau de bord ‣ Extensions ‣ Tous ‣ 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.


Best Linux media server

Plugins & thèmes

La communauté Jellyfin a développé une multitude de plugins pour afficher la liste d'épisodes, passer les intros, afficher les heures de diffusion, s'intégrer à Discord ou Telegram, etc. Vous pouvez également installer des thèmes pour personnaliser l'apparence de Jellyfin.


Mise à jour Jellyfin

Mises à jour

Le gestionnaire de paquets d’Ubuntu gère automatiquement les mises à jour de Jellyfin. Pour effectuer une mise à niveau manuelle, suivez les instructions ci-dessous.

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 ou communauté de Jellyfin.