The original post: /r/selfhosted by /u/dakazze on 2024-11-11 00:52:59.
Looks like it is finally my time to ask a question after participating here for quite some time ^^
I currently have an issue with jellyfin and syncplay:
Using the local jellyfin IP on my webOS TV works fine, except for syncplay. Syncplay only works when all clients in the session connect via my cloudflare domain jelly.domain.x which NginX (websockets configured according to jellyfin docs) redirects to the local jellyfin IP. I tried setting up a hostname in my openWRT router (jelly.local pointing to NginX) and added that to my jelly.domain.x redirect in NginX. This lets me access jellyfin but syncplay still does not work for whatever reason.
Disabling the cf proxy, disabling "force SSL" in NginX and letting the other client connect via http:// too does not help either.
I would just stick to the external domain for my local WebOS TV but my upload bandwidth is a limiting factor and so I would prefer to keep the traffic local if possible.
I read about NAT-loopback but I am a complete noob when it comes to networking stuff so I had to give up after researching on google for about an hour. On top of that I dont even know if that is the right solution...
My setup currently looks like this:
jelly.domain.x --> Cloudflare proxy + SSL (tried without both) --> openWRT router forward --> NginX redirect --> jellyfin server
Another crazy thing is, that syncplay works when my laptop is using the jelly.local address and the TV is using jelly.domain.x but not the other way around. To me this suggests that there is something weird going on with the webOS app but maybe we can find a workaround that lets me use the external domain while still keeping the streaming traffic local?
I would appreciate any help!
EDIT:
Okay, I found out that my Jellyfin traffic stays local when I disable the cloudflare proxy, even when using the external domain on my TV AND syncplay works. I would have preferred to keep the cf proxy but if thats the worst case I can live with it. Maybe someone still knows a solution for that.