Qnap [Tuto] Installation de Jellyfin en Docker sur un NAS QNAP ( Container Station )

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 232
1 577
278
/var/run/docker.sock
[Tuto] Installation de Jellyfin en Docker sur un NAS QNAP ( Container Station )

Jellyfin, c'est quoi ? :giggle:
Jellyfin est une suite d'applications multimédias conçues pour organiser, gérer et partager des fichiers multimédias numériques sur des appareils en réseau. Jellyfin se compose d'une application serveur installée sur une machine exécutant Microsoft Windows, macOS, Linux ou dans un conteneur Docker, et une autre application exécutée sur un appareil client tel qu'un smartphone, une tablette, une télévision intelligente, un lecteur multimédia en continu, une console de jeu ou dans un navigateur Web. Jellyfin peut également diffuser des fichiers multimédias sur les appareils compatibles DLNA et Chromecast. C'est un fork logiciel gratuit et open-source d'Emby.

Retrouvez plus d'informations sur Jellyfin ici : Jellyfin, le media center 100% gratuit


Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert de docker/docker compose, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...

Pré-requis :
- Un NAS QNAP compatible avec Container Station ( [Mémo] Installation de Container Station sur un NAS QNAP )

- Cette stack est compatible avec les CPUs de type : AMD64, ARM64v8, ARMv7
- Accès en SSH à son NAS QNAP


Sommaire :

1/ Créer les dossiers nécessaires
2/ Récupération de l'ID de votre utilisateur
3/ Création du conteneur
4/ Accès a Jellyfin




1/ Créer les dossiers nécessaires
Sur le NAS nous allons devoir créer un dossier jellyfin contenant un dossier cacheet un dossier config ce dernier contiendra tous les fichiers de configuration nécessaire au fonctionnement du conteneur Jellyfin.

Pour ce tuto, je me place dans le dossier partagé par défaut /Container. Depuis File Station, je vais donc créer un dossier jellyfin, avec dedans un dossier cache, et un dossier config, comme ceci :

1705835716702.png


2/ Récupération de l'ID de votre utilisateur
Pour connaitre l'ID de l'utilisateur, rendez vous dans Panneau de configuration > Privilège > Utilisateurs . Editer alors le profil de l'utilisateur en question :
1705836649042.png

L'UID est alors indiqué : ( Ici c'est 1002 )
1705836672429.png



3/ Création du conteneur
Dans la fenêtre de création d'application de Container Station :
- Indiquer le nom de l'application ( au choix ), dans mon cas j'indique "jellyfin".
- et on copier/colle le code YALM :


YAML:
version: "2.1"
services:
  jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    hostname: jellyfin
    user: 1002:100
#    group_add:
#      - "107"
#    devices:
#      - /dev/dri/renderD128:/dev/dri/renderD128
    ports:
      - 8096:8096
    volumes:
      - /share/Container/jellyfin/config:/config
      - /share/Container/jellyfin/cache:/cache
      - /share/Multimedia/series:/data/tvshows
      - /share/Multimedia/films:/data/movies
    restart: unless-stopped

Dans ce code, il y a plusieurs choses a modifier pour l'adapter a votre cas :
- Dans la ligne user: 1002:100, 10002 est a remplacer par le PUID de votre utilisateur. ( Que nous avons récupéré dans le point 2/ )
- Dans la ligne /share/Multimedia/series:/data/tvshows, vous allez devoir personnaliser la partie avant les : , soit /share/Multimedia/series avec le chemin absolu vers votre dossiers contenant vos séries tv.
- Dans la ligne /share/Multimedia/films:/data/movies, vous allez devoir personnaliser la partie avant les : , soit /share/Multimedia/films avec le chemin absolu vers votre dossiers contenant vos films.

Pensez a modifier également les lignes :
/share/Container/jellyfin/cache et /share/Container/jellyfin/config, pour adapter le chemin à votre cas.

Note : Vous pouvez rajouter autant de lignes que vous le souhaitez, par contre, le chemin apres les : doit être différents ( vous pouvez l'inventer ), par exemple, si vous avez 2 dossier différents contenant des films : /share/Multimedia/films et /share/Multimedia/films2 alors on pourrai renseigner les volumes comme ceci :
Code:


Code:
- /share/Multimedia/films:/data/movies
- /share/Multimedia/films2:/data/movies2

Une fois correctement adapté, vous cliquez sur Créer pour lancer la création du conteneur :

1705836409607.png

1705836540177.png

Et on attend !

Une fois fini, il est en vers dans la liste des Conteneurs, il se peu qu'il y est besoin d'attendre encore un peu avant de pouvoir accéder a l'interface :) Le 1er lancement peux prendre un peu de temps. ( Cela a bien pris 5 bonnes minutes chez moi ).


1705837742270.png




3/ Accès a Jellyfin

Depuis votre navigateur, il vous suffit maintenant de taper l'adresse ip de votre NAS suivi du port 8096 pour se connecter a l'interface Web de Jellyfin.

Exemple : Si l'ip de votre NAS est 192.168.0.20 alors l'adresse est http://192.168.0.20:8096


1705838043684.png

Note : Si vous n'avez pas l'affichage de cette page, mais une page qui vous propose de selectionner un serveur, cela peut etre un probleme de cache de votre navigateur, essayer alors en navigation privé.




2024-01-21 - Création
 

Pièces jointes

  • 1705838016665.png
    1705838016665.png
    29.1 KB · Affichages: 1
Dernière édition:
Bonsoir,

Merci pour ce Tuto :)
Concernant le chemin "Absolut", qui peut être trouver par SSH (pour ce qui y arrive) ou dans plex : information média.

Evo : compte tu indiquer comment se connecter à "Distance" pour Jellyfin ?
ou faut-il uniquement se basé sur Tuto Hors Local

Merci du retour
bonne soiré
 
Concernant le chemin "Absolut", qui peut être trouver par SSH (pour ce qui y arrive) ou dans plex : information média.
Salut,
Je n'ai pas compris la remarque. Il n'est pas obligatoire d'indiquer le chemin avec /share/CACHDEV....
Dans le cas du dossier partagé Multimedia , renseigner /share/Multimedia est suffisant. Si on fait un dossier partagée MesFilms, alors renseigner /share/MesFilms est suffisant, et cela quelques soit le volume ou est le dossier MesFilms.

Evo : compte tu indiquer comment se connecter à "Distance" pour Jellyfin ?
ou faut-il uniquement se basé sur Tuto Hors Local
J'aimerai bien d'abord que QNAP propose une vrai compatibilité entre son reverse proxy et son domaine myqnapcloud. Aussi, effectivement, c'est le même principe que sur l'autre tuto.
 
Bonsoir,

Merci des retour.
Concernant les connexions Distant (hors local) : après plusieurs testes, seul accès réussi est par : Nom de domaine myqnapcloud.com
Exemple : Name.myqnapcloud.com:8096

Dans l'objectif de données accès a des proches : je souhaiterai savoir, si c'est bien le seul identifiant d'accès ?
Puis ils utiliseraient, des comptes utilisateurs et mots de passe, attitré.

Merci par avance de vos retour.
 
Le probleme c'est que si tu fait cela, tu n'a pas de certificat SSL sur ta connexion. Tu es en HTTP.

Pour l'HTTPS, le plus simple c'est le reverse proxy. Probleme le nom de domaine myqnapcloud ne gere pas les sous domaine, donc c'est relou.
Pas possible de faire jellyfin.name.myqnapcloud.com par exemple. Pour le reverse , la solution est soi d'avoir un nom de domaine tiers ( chez OVH par exemple ) ou d'attendre que cela soit enfin pris en charge par QTS !

voir : https://www.forum-nas.fr/threads/reverse-proxy-myqnapcloud-et-sous-domaines.20679/#post-135408
 
Bonjour,

Donc si je comprend bien,
Pour pouvoir partager l'accès à des gens extérieurs, il faut :
- Soit qu'il passe par le "Nom de domaine myqnapcloud.com", et l'accès sera non sécurisé.
- Soit passé passé par un "Proxy reverse" avec un nom de domaine "OVH ou autres"
- Pas d'autres alternatif ?

Et par une version Alternatif de logiciel :
Avec Plex, il faut :
- Soit activer le transcodage et/ou avoir le Plex Pass.

Merci par avances des retours/corrections. (dans le but de résoudre cette question)
 
Bonsoir,

Désolé, de vous resollicité.
Suite à la réinstaller via l'Autre Tutoriel docker, et par rapport au test de lecture vidéo qui ne fonctionne pas ou non correctement.
J'ai pu constater que le ffmpeg, n'était pas à la dernier version 6.0.1.1, mais à la 5.xx et en essayant divers tutoriels et lignes de commande j'ai fini par faire planter l'installation.

J'ai donc tenter de recommencer l'installation de Jellyfin, via se tutoriel ; auquel quel couac, il a réussi à s'installer.
mais il ne se lance pas, et dans les logs j'ai :
Failed to create CoreCLR, HRESULT: 0x80004005

Et j'ai lu, qu'il fallait DotNET8 SDK, auquel il était installer, avant de recommencer l'installation de Jellyfin.

Si vous pouvez m'informer comment résoudre le problème.

Merci encore par avance.
 
Petite question con, est ce que l'on est obligé de pointer sur des répertoires internes ou est ce que l'on peut pointer sur des répertoires sur d'autres NAS ?

Je m'explique, j'ai plusieurs NAS (au fil des années) et j'ai donc une dissémination des mes fichiers multimédias sur plusieurs NAS. Sous kodi avec ma shield, pas de problèmes , il suffit de rentrer les adresses des servuers et c'est bon.

Je précise que je partage ces fichiers en SMB ou NFS, voire en FTP.

Mais si je veux tester Jelyffin ou autres, sans l'installer sur tous les serveurs est ce que je peux les relier au serveur jellyfin sur un seul NAS ?
 
Je m'explique, j'ai plusieurs NAS (au fil des années) et j'ai donc une dissémination des mes fichiers multimédias sur plusieurs NAS. Sous kodi avec ma shield, pas de problèmes , il suffit de rentrer les adresses des servuers et c'est bon.
Il y a plusieurs solution a cela. En voici deux :

tu fait un montage de tes dossiers réseaux sur la machine ou tu installe Jellyfin, et ensuite, tu donne donc le chemin du dossier local a Jellyfin ( qui sera en réalité le dossier reseau )

Ou tu fait par exemple directement un montage NFS dans le conteneur : https://domopi.eu/montage-nfs-sous-docker/
 
Alors ce montage ? :)
Pas eu le temps, je fais des travaux dans l'appartement dont tirage de câbles réseau à la place du téléphone et ça coince quelque part sans que je comprenne.

Mais dès que j'aurais essayé, je reviendrai pour raconter l'échec ou la réussite.
 
Aie, sa sent la boite de dérive dans la cloison 😅
Pas sûr, les lignes de prises de téléphone sont dans des gaines séparées. Je pencherais plutôt pour un écrasement de gaine car j'arrive pas à tirer et extraire le câble de la ligne que je veux remplacer en premier.
 
Hello

Dans container Station, il y a des "image docker" jellyfin, mais également un "jellyfin-ffmpeg". Il me semble avoir lu, je sais plus ou, qu'il fallait installer le 2nd également. Est ce le cas ?

et si on a un nas qui supporte le transcodage quicksync (h-674, core I3, qui arrive bientot at home), as t-on besoin d'activer qqe chose dans le docker ? ou c'est juste dans jellyfin qu'on met "quicksync" et c'est bon ?

pour le reverse proxy, un npm (nginx proxy manager) ou cosmos-cloud (cosmos-cloud.io : un genre de casaos, mais avec 2FA d'incorporé) sur docker, ca n'irait pas ?
 
Dans container Station, il y a des "image docker" jellyfin, mais également un "jellyfin-ffmpeg". Il me semble avoir lu, je sais plus ou, qu'il fallait installer le 2nd également. Est ce le cas ?
Non pas besoin.

as t-on besoin d'activer qqe chose dans le docker ?

Oui, regarde ici le point 5


pour le reverse proxy, un npm (nginx proxy manager) ou cosmos-cloud (cosmos-cloud.io : un genre de casaos, mais avec 2FA d'incorporé) sur docker, ca n'irait pas ?
Probablement, il y aussi un reverse proxy dans QTS, bien que simpliste. Il est aussi possible d'utiliser SWAG, ...
 
Merci pour les réponses
J'ai vu aussi que Qoolbox avait des packages "Jellyfin IHD" ou i915.
Du coup, sont-ils meilleurs ? (le IHD du coup, le i915, c'est pour les anciens)

[edit] : sur qtscloud, sur mon serveur proxmox, tout ce que j'ai eu a faire, c'est passer ma carte graphique en passthrough, et l'activer dans container station (et sur le nas avec les drivers nvidia qui vont bien). Et ca transcode. Pas eu besoin de modifier a la "mano" quoique ce soit. J'avais pris le paquet "jellyfin" dans container station.

Qtscloud est il différent à ce niveau ? ou c'est parce que c'était une carte nvidia ?
Et du coup avec le tvs-674, ca sera le processeur (et le gpu intégré) et donc la manip du point 5 a faire ?
 
Dernière édition:
Pour ceux que ca intéresse, il existe un paquet qui fonctionne sur les qnap (alors que les paquets de qoolbox ne fonctionne pas chez moi et j'ai payé 15euros pour apache83 pour quedal ! (n):mad:)

C'est les paquet de pdulvp. (cherchez PDULVP sur google et c'est le 1er lien). Il a meme un store pour qnap.