Aller au contenu

[Synology] Jellyfin, Docker, Reverse Proxy et Application Android


Messages recommandés

Bonjour à tous,

J'ai récemment installé Jellyfin en conteneur Docker, en suivant le tutoriel de FastGeek : Lien Youtube

Pour un fonctionnement en mode local (en rentrant l'adresse IP locale de mon NAS avec le numéro de port qui va bien), je ne rencontre pas de problèmes particuliers, et j'arrive à accéder à l'application sur mes différents clients : web sur PC Windows, application Android sur smartphone/tablette et application Android TV sur Xiaomi Mi Box.

Pour un fonctionnement via reverse proxy (en rentrant l'adresse du reverse proxy que j'ai paramétré, qui est de la forme https://jellyfin.XYZ.synology.me:443 ), aucun problème pour accéder à l'application depuis le client web (connecté en réseau local, ou via internet). Par contre, impossible d'y accéder depuis le client Android (connecté au réseau local ou via Internet).

En résumé : impossible d'accéder à l'application en reverse proxy avec l'application Android alors que ça fonctionne très bien avec le client web, pour la même adresse de serveur. Le problème semble ainsi venir de l'application Andoid. Ce n'est pas un problème de paramétrage du reverse proxy car avec le client web cela fonctionne.

J'ai essayé :

  • de désinstaller et réinstaller l'application Jellyfin Android, en essayant à la fois la version du PlayStore et cette de F-Droid ;
  • des changements de ports pour voir si le port que j'avais paramétré était bloqué par l'application

Tout ça sans succès. J'ai trouvé une personne sur Reddit qui a un problème similaire au mien (Lien Reddit), mais je n'ai pas pour autant réussi à régler mon problème.

Je suis preneur de tout avis ou recommandation pour réussir à faire tourner l'application Android Jellyfin avec le reverse proxy.

 

Version du serveur Jellyfin : 10.10.1

Version de l'application Android : Jellyfin 2.6.2

Version d'Android : Android 15 sur Pixel 6A

Lien vers le commentaire
Partager sur d’autres sites

Il ne sert à rien de changer les ports de jellyfin puisque ce sont des ports internes dont tu ne donnes pas accès depuis l'extérieur (j'espère). Ensuite c'est ton reverse proxy qui doit pointer vers un des ports internes.  Par exemple ton proxy défini par HTTPS://jellyfin.***.synology.me:443 doit avoir comme destination http://192.168.x.yyy:8096. Inutile de pointer vers ton HTTPS local.

Si tu as un certificat sur ton NAS, il faut qu'il soit wildcard si tu veux que le reverse proxy fonctionne. Les certificats LE pour synology.me sont wildcard, il faut le créer sur xxx.synology.me et ajouter *.xxx.synology.me sur le même certificat pour que tous tes reverse proxy, existent et à venir soient associés à ce certificat.

Autre point, avec un certificat LE sur un nom de domaine synology.me, il n'y a pas besoin d'ouvrir le port 80 pour le renouvellement du certificat. Tu peux donc gérer et accéder à tout ton NAS avec uniquement le port 443 ouvert. Question sécurité c'est appréciable.

Lien vers le commentaire
Partager sur d’autres sites

Tout d'abord merci beaucoup pour ta réponse !

Il y a 2 heures, cadkey a dit :

Il ne sert à rien de changer les ports de jellyfin puisque ce sont des ports internes dont tu ne donnes pas accès depuis l'extérieur (j'espère). Ensuite c'est ton reverse proxy qui doit pointer vers un des ports internes.  Par exemple ton proxy défini par HTTPS://jellyfin.***.synology.me:443 doit avoir comme destination http://192.168.x.yyy:8096. Inutile de pointer vers ton HTTPS local.

Je n'ai peut-être pas été assez clair : c'est bien le port local de Jellyfin que j'ai modifié, je n'ai pas touché au port 8096, mais au port 5151 (cf. image ci-dessous du paramétrage Docker de Jellyfin)

image.png.7263c82e9c86a10be7ae4f1f4262c00e.png

 

Par contre, au niveau de mon reverse proxy, j'ai bien pointé vers le port local 5151 :

image.png.b573ab6b34fd0fb7cadf4d0dae22ca7d.png

Il y a 2 heures, cadkey a dit :

Si tu as un certificat sur ton NAS, il faut qu'il soit wildcard si tu veux que le reverse proxy fonctionne. Les certificats LE pour synology.me sont wildcard, il faut le créer sur xxx.synology.me et ajouter *.xxx.synology.me sur le même certificat pour que tous tes reverse proxy, existent et à venir soient associés à ce certificat.

J'ai bien un certificat Let's Encrypt, et il couvre bien mon jellyfin.xxx.synology.me :

image.thumb.png.66d4b480b37fd01f34d6a5c6f6df86b8.png

Il y a 2 heures, cadkey a dit :

Autre point, avec un certificat LE sur un nom de domaine synology.me, il n'y a pas besoin d'ouvrir le port 80 pour le renouvellement du certificat. Tu peux donc gérer et accéder à tout ton NAS avec uniquement le port 443 ouvert. Question sécurité c'est appréciable.

En effet, sur mon pare-feu, le port 80 n'est pas ouvert, et j'accède à mon NAS uniquement via le port 443. Ca fonctionne en reverse proxy avec toutes mes applications (DS File, DS Audio, DS Drive, etc.).

Le problème arrive juste en reverse proxy avec l'application Android Jellyfin alors que ça fonctionne avec le client web...

 

Lien vers le commentaire
Partager sur d’autres sites

il y a 11 minutes, cadkey a dit :

choisir 'websocket' est suffisant.

C'est possible je n'ai clairement pas compris à quoi correspondait l'En-tête personnalisée. Si tu connais un site qui donne des explications claires et accessibles je suis preneur.

Lien vers le commentaire
Partager sur d’autres sites

Par contre je ne vois pas ce que vient faire ce port 5151 dans l'installation décrite.

J'ai regardé vite fait ce tuto de 2021... pas de websocket, pas de HW, installation inutile d'un certificat LE pour un sous-domaine, et un port 5151 dont je ne connais pas l'utilité. Le tuto est très très leger et dépassé. Peut-être que tu n'as pas besoin de transcoder @Ragnarou , mais c'est quand même dommage de ne pas faire un paramétrage complet avec HW. Ça dépend de ton utilisation. 

Bref tu n'es pas tombé sur le bon tuto.

Modifié par cadkey
Lien vers le commentaire
Partager sur d’autres sites

https://packages.synocommunity.com

Il y a 10 heures, Jeff777 a dit :

Bonjour @Ragnarou

Je ne me souviens plus quel tuto j'ai utilisé mais j'ai ceci sur mon reverse proxy :

 

Bonjour,

Merci pour ce complément ; en effet de mon côté je n'ai aucun en-tête personnalisé.

Il y a 9 heures, cadkey a dit :

Par contre je ne vois pas ce que vient faire ce port 5151 dans l'installation décrite.

J'ai regardé vite fait ce tuto de 2021... pas de websocket, pas de HW, installation inutile d'un certificat LE pour un sous-domaine, et un port 5151 dont je ne connais pas l'utilité. Le tuto est très très leger et dépassé. Peut-être que tu n'as pas besoin de transcoder @Ragnarou , mais c'est quand même dommage de ne pas faire un paramétrage complet avec HW. Ça dépend de ton utilisation. 

Bref tu n'es pas tombé sur le bon tuto.

A vrai dire, j'ai choisi ce tuto car il me semblait simple d'accès, mais visiblement sa simplicité semble cacher un côté ni-fait ni à faire à t'entendre...

Pour ma compréhension, qu'apportent les en-tête personnalisé ?

Avec mon paramétrage tel que je l'ai fait, je n'aurais pas d'accélération matérielle (si c'est bien ce que HW signifie) ?

Et question bonus : aurais-tu un bon tuto à me recommander pour que je reprenne tout ça proprement ?

 

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.