samedi 1 juin 2024

Installation de Jellyfin sur Docker avec Portainer et Activation de HTTPS

Dans ce tutoriel, nous allons vous montrer comment installer Jellyfin en utilisant Docker et Portainer, puis comment activer l'accès HTTPS. Nous partons du principe que Docker, Portainer et SWAG (Secure Web Application Gateway) sont déjà installés.

Prérequis

  • Docker et Portainer sont déjà installés. si ce n'est pas le cas, suivez ce tutorial
  • SWAG est déjà installé. Si ce n'est pas le cas, suivez ce tutoriel pour l'installation de SWAG.
  • Un nom de domaine de type jellyfin.portail.domaine.fr pointant vers le serveur SWAG.
  • l'ip du serveur SWAG, dans notre cas : 192.168.1.128

Étape 1: Connexion à l'interface web de Portainer

  1. Ouvrez votre navigateur et accédez à l'interface web de Portainer. L'adresse typique est : https://portainer.portail.domaine.fr.
  2. Connectez-vous avec vos identifiants Portainer.



Étape 2: Accéder aux environnements

  1. Depuis l'écran d'accueil de Portainer, cliquez sur la petite baleine bleue à côté de "Local" sous la section "Environments".
  2. Cliquez ensuite sur "Containers" (l'icône avec un cercle blanc et un cube bleu).



Étape 3: Ajouter un nouveau conteneur

  1. Sur l'écran de la liste des conteneurs, cliquez sur "+ Add Container".


Étape 4: Configuration du conteneur Jellyfin

  1. Dans l'écran de création du conteneur, ajoutez les informations suivantes :

    • Nom: Choisissez un nom pour votre conteneur (exemple : Jellyfin).
    • Image: linuxserver/jellyfin
  2. Publication des ports :

    • Cliquez trois fois sur "+ Publish new network port" et ajoutez les informations suivantes :
      • Host = 8096, Container = 8096 (assurez-vous que TCP est sélectionné)
      • Host = 7359, Container = 7359 (assurez-vous que UDP est sélectionné)
      • Host = 1900, Container = 1900 (assurez-vous que UDP est sélectionné)



Étape 5: Configuration avancée des conteneurs

  1. Faites défiler vers le bas jusqu'à "Advanced container settings".

  2. Cliquez sur "Volumes" et près de "Volume mapping", cliquez sur le bouton "+ map additional volume" autant de fois que nécessaire pour vos dossiers partagés. Par exemple, si vous avez des dossiers pour des films, des séries TV et des événements sportifs, cliquez 4 fois pour obtenir 4 volumes.

    • Container: /config Volume: /home/VOTRE_NOM_UTILISATEUR/Downloads/jellysrv/config
    • Container: /data/tvshows Volume: /media/VOTRE_NOM_UTILISATEUR/tvshows/tv
    • Container: /data/movies Volume: /media/VOTRE_NOM_UTILISATEUR/movies/movie
    • Container: /data/sports Volume: /media/VOTRE_NOM_UTILISATEUR/sports/sportsevents

    Assurez vous que tous les conteneurs sont définis sur BIND et que tous les volumes sont en mode ÉCRITURE.


ATTENTION pour la partie config, j'ai mis en place un VOLUME dédié

Étape 6: Ajouter des variables d'environnement

  1. Cliquez sur "Env" et ajoutez trois variables d'environnement :
    • Name: PUID, Value: 1000
    • Name: PGID, Value: 1000
    • Name: TZ Value: America/New_York (Remplacez par votre fuseau horaire)


Étape 7: Déployer le conteneur

  1. Enfin, juste au-dessus de "ADVANCED CONTAINER SETTINGS", cliquez sur "DEPLOY THE CONTAINER".


  1. Si tout est configuré correctement, vous devriez pouvoir accéder à la page web du serveur Jellyfin à l'adresse suivante : http://192.168.1.128:8096.

Attention, nous sommes actuellement sur du HTTP. Avant d'aller plus loin, nous allons activer le HTTPS !


Étape 8: Activer l'accès HTTPS

Prérequis rappel pour cette partie : 

  • Assurez-vous que SWAG est installé. Suivez ce tutoriel si ce n'est pas le cas.
  • Un nom de domaine de type jellyfin.portail.domaine.fr pointant vers le serveur SWAG.
  • l'ip du serveur SWAG, dans notre cas : 192.168.1.128

Étape 8.1: Connexion au conteneur SWAG

  1. Accédez à l'interface de Portainer, trouvez le conteneur SWAG et cliquez sur "Console".


Étape 8.2: Copier le fichier de configuration Nginx

  1. Dans la console, exécutez la commande suivante pour copier le fichier de configuration :
cp config/nginx/proxy-confs/jellyfin.subdomain.conf.sample config/nginx/proxy-confs/jellyfin.subdomain.conf

Étape 8.3: Modifier le fichier de configuration

Éditez le fichier de configuration pour modifier l'IP du serveur SWAG. 
nano config/nginx/proxy-confs/jellyfin.subdomain.conf
  1. Recherchez la ligne suivante :
set $upstream_app jellyfin;
  1. Remplacez jellyfin par l'IP du serveur SWAG. Vous devez le faire deux fois, une fois pour la location du port 80 et une fois pour celle du port 443 :
set $upstream_app 192.168.1.128;


Étape 8.4: Redémarrer le conteneur SWAG

  1. Redémarrez le conteneur SWAG pour appliquer les modifications.



Étape 8.5: Vérifier l'accès HTTPS

  1. Accédez à https://jellyfin.portail.domaine.fr dans votre navigateur. Vous devriez maintenant voir une page sécurisée.


En suivant ces étapes, vous aurez installé Jellyfin en utilisant Docker et Portainer et activé l'accès HTTPS via SWAG. Profitez de votre nouveau serveur multimédia sécurisé !


Webologie : 
https://forum.jellyfin.org/t-jellyfin-portainer-tutorial

Docker - Portainer - Searx

A faire   https://docs.searxng.org/admin/installation-nginx.html https://gist.github.com/gamersalpha/3288494a5f44e9fdd7f6508b85133ffa https:...