J’ai un Home Assistant Supervised sur Debian 11 qui commence à être bien garni. J’ai un accès extérieur via une configuration DuckDNS + NGinx.
J’ai trouvé ce plugin : GitHub - mdvorak/ha-addon-jellyfin: Home Assistant add-on for Jellyfin Server qui permet d’avoir un serveur Jellyfin directos sur ma machine. Il fonctionne nickel, j’ai également utilisé l’intégration officielle pour récupérer quelques données dans HA.
Mon souci est le suivant, je ne parviens pas à accéder à l’interface Web du Server Jellyfin sans passer par l’IP de mon PC ou le serveur tourne (http://192.168.1.X:8096/jellyfin). A vrai dire j’aurai espérer pouvoir le faire comme pour tout les autres plugins sur l’URL : http://toto.duckdns.org/<Nom_d’hôte_du_docker>/jellyfin. J’ai essayé diverses choses dans l’IHM Jellyfin en lui passant un certificat PKCS #12 (préalablement généré dans /ssl a partir de mes fichiers .PEM utilisés par NGINK et DUCKDNS) mais sans succès.
La doc de Jellyfin et de sa configuration avec Ngink existe mais elle ne s’applique pas sur une configuration en tant que Plugin de Home assistant donc sur une machine ou diverses IHM Web se partage la place.
A vrai dire je ne sais pas vraiment ce qu’il est possible de faire et ou sont les limites :
l’URL : http://toto.duckdns.org/<Nom_d’hôte_du_docker>/jellyfin permettrait d’accéder à ce dernier mais avec au préalable une authentification sur HA je pense, donc inutilisable depuis l’application Jellyfin Android TV je pense.
Serait-il possible de sortir en https directement sur l’interface jellyfin pour permettre un accès externe à mon serveur multimédia en modifiant la conf Nginx de HA ?
Si certains d’entre vous ont des idées de comment configurer tout ça, je suis preneur !
Merci beaucoup,
Ma configuration
System Information
version
core-2023.2.5
installation_type
Home Assistant Supervised
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.10.7
os_name
Linux
os_version
5.10.0-21-amd64
arch
x86_64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
GitHub API Calls Remaining
5000
Installed Version
1.30.1
Stage
running
Available Repositories
1216
Downloaded Repositories
25
Home Assistant Cloud
logged_in
false
can_reach_cert_server
ok
can_reach_cloud_auth
ok
can_reach_cloud
ok
Home Assistant Supervisor
host_os
Debian GNU/Linux 11 (bullseye)
update_channel
stable
supervisor_version
supervisor-2023.02.dev1502
agent_version
1.4.1
docker_version
23.0.1
disk_total
232.2 GB
disk_used
19.4 GB
healthy
true
supported
true
supervisor_api
ok
version_api
ok
installed_addons
Mosquitto broker (6.1.3), Studio Code Server (5.5.2), Duck DNS (1.15.0), Terminal & SSH (9.6.1), File editor (5.5.0), Home Assistant Google Drive Backup (0.110.1), NGINX Home Assistant SSL proxy (3.2.0), Frigate (Full Access) (0.11.1), go2rtc (1.2.0), Zigbee2MQTT (1.30.1-1), AirCast (3.5.1), AdGuard Home (4.8.0), Spotify Connect (0.12.2), Jellyfin Server (1.1.1)
Normalement pour rendre un serveur jellyfin publique (visible sur une ip publique routée) il faut passer par un reverse proxy (en effet l’interface web de Jellyfin n’est pas conçu en terme de protection pour être exposé sur autre chose qu’un LAN).
Je ne suis pas super familier des usines à gaz de docker donc je ne saurais pas te dire si c’est faisable avec un docker adéquat mais pour sûr cela peut se faire via une machine tierce dans ton LAN par contre ou sur le debian lui-même qui héberge tout ça Networking | Jellyfin
Je ne vois pas ce qui te bloquerait si tu arrives à accéder à http://192.168.1.X:8096/jellyfin tu dois pourvoir rediriger ce que tu veux dessus.
Si le port 8096 est mappé et publié dans docker et que tu y accèdes sans passer par HA, un forwards de port ou un reverse proxy doivent passer.
Hello,
Alors en fait dans ma configuration actuelle, le seul port que je redirige sur mon routeur est le 443 TCP vers mon PC HA même port.
Ensuite j’ai une configuration DuckDns + NGinx avec un nom de domaine :
################# DUCK DNS #################
http:
ip_ban_enabled: true # use this to enable auto IP ban
login_attempts_threshold: 5 # set the number of allowed login attempts
################# NGINX #################
use_x_forwarded_for: true
trusted_proxies:
- 172.30.33.0/24
Le premier souci est que je ne parviens pas a atteindre l’IHM de Jellyfin via
qui utilise l’url : http://toto.duckdns.org:8096/ → (Je pense que c’est normal car si je ne met pas le port de Jellyfin (:8096), l’URL est forcé en HTTPS pour l’accès à HA. Par contre ce que je ne comprend pas c’est que pour tout les autres modules complémentaires, l’accès HTTPS fonctionne vers l’IHM de chacun sans manip de ma part, je me dis que peut être que ce module n’a pas été étudié pour une conf HTTPS.)
Par contre l’accès : http://192.168.1.100:8096 est le seul qui fonctionne vers Jellyfin.
J’aimerai avoir un accès du type : https://toto.duckdns.org:8096/ ou alors si on utilise le port TLS de Jellyfin : https://toto.duckdns.org:8920/ pour pouvoir accéder de l’extérieur à ce dernier de manière sécurisée. Ce qui me fait peur, c’est que il tourne sous forme d’un plugin HA (dans un Docker), donc j’aimerai ne pas tout casser coté HA. Parce que sinon effectivement la doc de Jellyfin sur un serveur dédié est super top.
Avez vous une idée de ce que je pourrai modifier dans ma configuration pour accéder de manière sécurisée à Jellyfin en parallèle de HA ?
Si 443 est le seul port redirigé, alors clairement http://toto.duckdns.org:8096/ n’aboutira pas…
Ensuite 8096 c’est le port http par défaut de Jellyfin donc il ne répondra pas en https dessus.
NGinx normalement est utilisé en temps que reverse proxy… donc c’est lui qui devrait recevoir les demandes sur le 443 et les rediriger au bon serveur… sur le bon port.
En théorie toujours, si NGinx est ouvert sur 443 en HTTPS sur l’extérieur, en interne le HTTPS ne devrait pas être nécessaire.