Reverse Proxy loads but Jellyfin wont play media

1. The problem I’m having:

My ISP at home has me behind CGNAT, so in order to get public access, I have set up a wireguard tunnel from a VPS (virtual private server) I rent. I followed this tutorial to set everything up. In total I have these relevant instances:

a VPS, this has a public IPv4 and runs a Caddy reverse proxy in docker and wireguard on the OS. I have a domain that points to this VPS.

my home server running Windows 11 

my vps running oracle free cloud tier
my domain loads for a webapp called jellyfin. It crashes when i try to load media just endlesslyey loading
I get a 500 error. After that, apparently Jellyfin drops the websocket and then I have to wait a few minutes until I can get in again
I read that this is needed fix is to setup to forward / upgrade web socket requests properly. I am not sure as i have never edited this into a caddyfile to date.

2. Error messages and/or full log output:

no errors

3. Caddy version:

v2.6.4

4. How I installed and ran Caddy:

running static binaries and system service

a. System environment:

Oracle Free tier VPS arm64 on Ubuntu 22.04 im running caddy binaries

c. Service/unit/compose file:

[Unit]
Description=Caddy
Documentation=https://caddyserver.com/docs/
After=network.target network-online.target
Requires=network-online.target

[Service]
Type=notify
User=caddy
Group=caddy
ExecStart=/usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile --force
TimeoutStopSec=5s
LimitNOFILE=1048576
LimitNPROC=512
PrivateDevices=yes
PrivateTmp=true
ProtectSystem=full
AmbientCapabilities=CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target

d. My complete Caddy config:

#photos.movies4you.stream {
#    reverse_proxy 10.254.0.1:2283
#    tls {
#        dns cloudflare api-key
#    }
#}
tv.movies4you.stream {
    reverse_proxy 10.254.0.1:8096
    tls {
        dns cloudflare api-key
    }
}
#ha.movies4you.stream {
#    reverse_proxy 10.254.0.1:8123
#    tls {
#        dns cloudflare api-key
#    }
#}
kitchen.movies4you.stream {
    reverse_proxy 10.254.0.1:9090
    tls {
        dns cloudflare api-key
    }
}
music.movies4you.stream {
    reverse_proxy 10.254.0.1:5050
    tls {
        dns cloudflare api-key
    }
}
#files.movies4you.stream {
#    reverse_proxy 10.254.0.1:8484
#    tls {
#        dns cloudflare api-key
#    }
#}

5. Links to relevant resources:

this person also had the same issue
https://www.reddit.com/r/jellyfin/comments/10njxgk/public_access_ui_loads_ok_but_no_video_playback/

I use Jellyfin just fine behind Caddy. That config file should be all you need. What are in the server logs when the 500 error is emitted? I’m confused because you say it’s a 500 error but then under the section asking for logs and error messages, you say “no error”. That 500 error likely comes from Jellyfin, not Caddy. So the solution may lie with Jellyfin more than Caddy.

so ive done a lot of testing and determined its caddy. 192.168.1.111:8096 everything runs smooth plays media and everything. Only when i used my reverse proxy for caddy tv.movies4you.stream i get the 500 error in f12 developer window console. Without the developer console it just endelssly loads when i run any media i try to play. Thats the only reason i know its giving that error.

500 errors are emitted by the server. If there’s no errors in the Caddy logs, then it’s coming from Jellyfin – the only way we’ll be able to help is if you can tell us the associated logs/error messages from the server.

there is only a transport hsts error but its no longer showing it. I was told because of my setup i would need to forward the websocket. So yes its somewhat caddy and somewhat jellyfin it isnt able to propegate the full sub links for jellyfin. Theres no reason it should work on localhost:8096 and then not on a reverse proxy. Jellyfin logs shows its working correctly on localhost:8096 but errors out and cant even produce a log when running on a reverse proxy. Can i try to forward the websocket and see if it works. I have no idea how. Hence why i opened a request. Also other people with my exact setup have this exact issue. Check the reddit link i linked i got told in jellyfin support and reddit supports what they said. where does caddy hold its logs. so i can cat it in ubuntu.
heres the output for sudo systemctl status caddy

● caddy.service - Caddy
     Loaded: loaded (/etc/systemd/system/caddy.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-05-09 03:20:56 UTC; 1h 0min ago
       Docs: https://caddyserver.com/docs/
    Process: 132471 ExecReload=/usr/bin/caddy reload --config /etc/caddy/Caddyfile --force (code=exited, status=0/SUCCESS)
   Main PID: 87862 (caddy)
      Tasks: 11 (limit: 28693)
     Memory: 15.1M
        CPU: 40.949s
     CGroup: /system.slice/caddy.service
             └─87862 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.1772687,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x40001d9ab0"}
May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.1774123,"logger":"http","msg":"enabling HTTP/3 listener","addr":":443"}
May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.1774309,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.1774523,"logger":"http.log","msg":"server running","name":"remaining_auto_https_redirects","protocols":["h1","h2","h3"]}
May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.1774561,"logger":"http","msg":"enabling automatic TLS certificate management","domains":["kitchen.movies4you.stream","music.movies4you.>
May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.1787462,"logger":"tls.cache.maintenance","msg":"stopped background certificate maintenance","cache":"0x400018ed20"}
May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.179371,"msg":"autosaved config (load with --resume flag)","file":"/var/lib/caddy/.config/caddy/autosave.json"}
May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.1794488,"logger":"admin.api","msg":"load complete"}
May 09 04:03:00 ubuntu-22-04 caddy[87862]: {"level":"info","ts":1683604980.1805377,"logger":"admin","msg":"stopped previous server","address":"localhost:2019"}
May 09 04:03:00 ubuntu-22-04 systemd[1]: Reloaded Caddy.
~

plays fine in localhost:8096

Well, clearly there is. :upside_down_face: We need to realize there is more happening than we are aware of, because clearly there is a reason it is not working for you.

But the problem is not with Caddy.

The 500 is emitted by Jellyfin.

If that’s the case, then all users would be reporting that Jellyfin is broken behind a reverse proxy – sorry, but you will need to get the logs from Jellyfin. I know Jellyfin emits logs when there are errors, since I have referred to them many times.

Caddy’s proxy already forwards them for you automatically. Again, Jellyfin can’t emit a 500 error if the request isn’t proxied in the first place.

As with other servers, Caddy emits logs to stderr unless configured otherwise. I would google how to access the output of a systemd service using journalctl. (In fact, our help template – the one you filled out, I know you read it, right? – tells you how to do this.)

so even with my awkward setup it wont matter about the websocket. I have my jellyfin running on windows 11 locally in my house. then my wireguard connects that local ip to my vps which runs a static ip as my home internet is a cgnat dynamic ip. which then propegates jellyfin to caddy on my vps. My logs show this
image
i dont know why neither does jellyfin support. ill have to keep looking i guess. i dont know what else to look for i have looked everywhere for an answer. please leave this thread open for now

edit: a quick reboot of jellyfin gave me the logs.

[2023-05-09 00:00:00.015 -05:00] [INF] [25] Emby.Server.Implementations.ScheduledTasks.TaskManager: "DailyTrigger" fired for task: "Playback Reporting Trim Db"
[2023-05-09 00:00:00.018 -05:00] [INF] [25] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task "TaskCleanDb"
[2023-05-09 00:00:00.019 -05:00] [INF] [22] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing "Playback Reporting Trim Db"
[2023-05-09 00:00:00.021 -05:00] [INF] [25] Jellyfin.Plugin.PlaybackReporting.TaskCleanDb: Playback Reporting Data Trim
[2023-05-09 00:00:00.023 -05:00] [INF] [25] Jellyfin.Plugin.PlaybackReporting.TaskCleanDb: MaxDataAge : 3
[2023-05-09 00:00:00.025 -05:00] [INF] [25] Jellyfin.Plugin.PlaybackReporting.Data.ActivityRepository: DeleteOldData : "delete from PlaybackActivity where DateCreated < '2023-02-09 00:00:00.0244919'"
[2023-05-09 00:00:00.026 -05:00] [INF] [25] Jellyfin.Plugin.PlaybackReporting.Data.ActivityRepository: Default journal_mode for "C:\ProgramData\Jellyfin\Server\data\playback_reporting.db" is "delete"
[2023-05-09 00:00:00.029 -05:00] [INF] [25] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Playback Reporting Trim Db" Completed after 0 minute(s) and 0 seconds
[2023-05-09 00:00:00.031 -05:00] [INF] [25] Emby.Server.Implementations.ScheduledTasks.TaskManager: ExecuteQueuedTasks
[2023-05-09 00:00:01.025 -05:00] [INF] [25] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for "Playback Reporting Trim Db" set to fire at 2023-05-10 00:00:00.000 -05:00, which is 23:59:58.9744417 from now.
[2023-05-09 00:00:16.379 -05:00] [WRN] [20] Jellyfin.Server.Middleware.ExceptionMiddleware: The response has already started, the exception middleware will not be executed.
[2023-05-09 00:00:16.382 -05:00] [ERR] [20] Microsoft.AspNetCore.Server.Kestrel: Connection id ""0HMQG98L7GPFU"", Request id ""0HMQG98L7GPFU:00000004"": An unhandled exception was thrown by the application.
System.InvalidOperationException: Response Content-Length mismatch: too many bytes written (20973586 of 20973461).
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.VerifyAndUpdateWrite(Int32 count)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.WritePipeAsync(ReadOnlyMemory`1 data, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponseStream.WriteAsync(ReadOnlyMemory`1 source, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionBody.WriteAsync(ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at Microsoft.AspNetCore.Http.StreamCopyOperationInternal.CopyToAsync(Stream source, Stream destination, Nullable`1 count, Int32 bufferSize, CancellationToken cancel)
   at Microsoft.AspNetCore.Internal.FileResultHelper.WriteFileAsync(HttpContext context, Stream fileStream, RangeItemHeaderValue range, Int64 rangeLength)
   at Microsoft.AspNetCore.Mvc.Infrastructure.FileResultExecutorBase.WriteFileAsync(HttpContext context, Stream fileStream, RangeItemHeaderValue range, Int64 rangeLength)
   at Microsoft.AspNetCore.Mvc.Infrastructure.FileStreamResultExecutor.ExecuteAsync(ActionContext context, FileStreamResult result)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeResultFilters>g__Awaited|28_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
   at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
   at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.InvokeCore(HttpContext context, PathString matchedPath, PathString remainingPath)
   at Jellyfin.Server.Middleware.BaseUrlRedirectionMiddleware.Invoke(HttpContext httpContext, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.ProcessRequests[TContext](IHttpApplication`1 application)
[2023-05-09 00:00:42.890 -05:00] [INF] [20] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[2023-05-09 00:00:51.686 -05:00] [INF] [10] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "external ip" request
[2023-05-09 00:00:52.794 -05:00] [WRN] [37] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://tv.movies4you.stream/Users/3f05512e59184385b46a4f7b338a2ac2/Items/Latest?Limit=30&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo%2CPath&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&ParentId=fbe927a6b6148a2a499409f0ab66d0f1" to "external ip" in 0:00:00.5392551 with Status Code 200
[2023-05-09 00:00:52.798 -05:00] [WRN] [20] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://tv.movies4you.stream/Users/3f05512e59184385b46a4f7b338a2ac2/Items/Latest?Limit=30&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo%2CPath&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&ParentId=75736ba48263773d0a111c1fd0296056" to "external ip" in 0:00:00.5516922 with Status Code 200
[2023-05-09 00:00:52.803 -05:00] [WRN] [24] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://tv.movies4you.stream/Users/3f05512e59184385b46a4f7b338a2ac2/Items/Latest?Limit=30&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo%2CPath&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&ParentId=c097134ef7f540be0d35418b14d14930" to "external ip" in 0:00:00.5486447 with Status Code 200
[2023-05-09 00:00:52.806 -05:00] [WRN] [58] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://tv.movies4you.stream/Users/3f05512e59184385b46a4f7b338a2ac2/Items/Latest?Limit=30&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo%2CPath&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&ParentId=4d6cab82687be983ba5ed83e06200809" to "external ip" in 0:00:00.5492199 with Status Code 200
[2023-05-09 00:00:52.809 -05:00] [WRN] [40] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://tv.movies4you.stream/Users/3f05512e59184385b46a4f7b338a2ac2/Items/Latest?Limit=30&Fields=PrimaryImageAspectRatio%2CBasicSyncInfo%2CPath&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CThumb&ParentId=f9cdacad554183f01638708a9cb1e0a8" to "external ip" in 0:00:00.5542292 with Status Code 200
[2023-05-09 00:00:52.858 -05:00] [WRN] [25] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://tv.movies4you.stream/Shows/NextUp?Limit=24&Fields=PrimaryImageAspectRatio%2CDateCreated%2CBasicSyncInfo%2CPath%2CMediaSourceCount&UserId=3f05512e59184385b46a4f7b338a2ac2&ImageTypeLimit=1&EnableImageTypes=Primary%2CBackdrop%2CBanner%2CThumb&EnableTotalRecordCount=false&DisableFirstEpisode=false&NextUpDateCutoff=2022-05-09T05%3A00%3A52.050Z&EnableRewatching=false" to "external ip" in 0:00:00.6116089 with Status Code 200
[2023-05-09 00:00:54.905 -05:00] [INF] [24] Emby.Server.Implementations.Session.SessionWebSocketListener: Sending ForceKeepAlive message to 1 inactive WebSockets.
[2023-05-09 00:01:00.028 -05:00] [INF] [24] Emby.Server.Implementations.ScheduledTasks.TaskManager: "DailyTrigger" fired for task: "Remove Old Sync Data"
[2023-05-09 00:01:00.030 -05:00] [INF] [24] Emby.Server.Implementations.ScheduledTasks.TaskManager: Queuing task "RetentionTask"
[2023-05-09 00:01:00.031 -05:00] [INF] [25] Emby.Server.Implementations.ScheduledTasks.TaskManager: Executing "Remove Old Sync Data"
[2023-05-09 00:01:00.042 -05:00] [INF] [25] Jellyfin.Plugin.KodiSyncQueue.ScheduledTasks.RetentionTask: Retention deletion not possible if retention days is set to zero!
[2023-05-09 00:01:00.043 -05:00] [INF] [25] Emby.Server.Implementations.ScheduledTasks.TaskManager: "Remove Old Sync Data" Completed after 0 minute(s) and 0 seconds
[2023-05-09 00:01:00.045 -05:00] [INF] [25] Emby.Server.Implementations.ScheduledTasks.TaskManager: ExecuteQueuedTasks
[2023-05-09 00:01:00.447 -05:00] [INF] [12] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "external ip" closed
[2023-05-09 00:01:01.042 -05:00] [INF] [36] Emby.Server.Implementations.ScheduledTasks.TaskManager: Daily trigger for "Remove Old Sync Data" set to fire at 2023-05-10 00:01:00.000 -05:00, which is 23:59:58.9573645 from now.
[2023-05-09 00:01:01.261 -05:00] [ERR] [36] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request: "Reading the request body timed out due to data arriving too slowly. See MinRequestBodyDataRate". URL "POST" "/Items/0415bb83962de3dfc8ff17dc564f0862/PlaybackInfo".
[2023-05-09 00:01:01.263 -05:00] [WRN] [36] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "https://tv.movies4you.stream/Items/0415bb83962de3dfc8ff17dc564f0862/PlaybackInfo?UserId=3f05512e59184385b46a4f7b338a2ac2&StartTimeTicks=5798652700&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=105660377" to "external ip" in 0:00:05.6736621 with Status Code 500
[2023-05-09 00:01:01.378 -05:00] [INF] [24] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "external ip" request

There we go – thanks for getting more info.

I have never encountered this, but it looks like a bug in Jellyfin. Apparently it’s setting the Content-Length header but then writing more bytes than indicated in that header.

Maybe it’s getting confused about compression/encoding or something like that. But you’ll need to take it up with the Jellyfin team at this point.

fixed it after working and asking all day and testing thousands of tricks nothing worked. So i though. Maybe my CGNAT Dynamic IP is the problem because if i make a change in the modem from my isp it wont work after sitting for a small amount of time and this has to be done even for something as small as a port forward. Its a 5G Home internet so its newer and has some bugs. So i thought what the heck lest try it. So i rebooted my modem. Bam loads up perfectly after the reboot of my modem and i got a new dynamic ip and it works! SO ANYONE ELSE HAVING THIS ISSUE REBOOT YOUR MODEM AS A FIRST STEP.

2 Likes

Interesting. Similarly, I had to reboot my router for our new printer to start working the other day. :man_shrugging: No idea why that would affect Jellyfin though. Glad you got it solved.

Me too. It was driving me crazy.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.