WebOS 3.9 -- Stuck on logo when using Caddy - interrobang - 2025-05-09
I have extensively reviewed other posts in this forum but have not yet found a solution unfortunately. Thank you for any suggestions.
The LG TV is a C7 running WebOS 3.9.
What works:- Web, Android app, Samsung TV (Tizen) app, WebOS TV web browser-- all can connect to Jellyfin over HTTPS via the Caddy proxy.
- WebOS app-- can connect if I expose the Jellyfin port and connect over HTTP
What does not work:- WebOS app-- once I try to connect over HTTPS, it shows the logo but does not load the app.
Looking at Caddy logs shows that the app is making requests for the JS resources, so I know that it's successfully connected to the server.
Code: {"level":"info","ts":1746764928.4870903,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/System/Info/Public","headers":{"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept":["*/*"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.001101052,"size":210,"status":200,"resp_headers":{"Alt-Svc":["h3=\":443\"; ma=2592000"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"X-Response-Time-Ms":["0.3611"],"Content-Type":["application/json; charset=utf-8"],"Server":["Caddy","Kestrel"]}}
{"level":"info","ts":1746764928.5009344,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/manifest.json","headers":{"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept":["*/*"],"Accept-Encoding":["gzip,deflate"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.001231364,"size":291,"status":200,"resp_headers":{"Vary":["Accept-Encoding"],"X-Response-Time-Ms":["0.4606"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Encoding":["gzip"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Content-Type":["application/json"],"Accept-Ranges":["bytes"],"Server":["Caddy","Kestrel"],"Etag":["\"1dba66021b2d28d\""]}}
{"level":"info","ts":1746764928.586816,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/index.html","headers":{"Accept-Language":["en-US"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Connection":["keep-alive"],"Accept":["text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.001829482,"size":2124,"status":200,"resp_headers":{"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Content-Encoding":["gzip"],"Content-Type":["text/html"],"X-Response-Time-Ms":["0.6772"],"Etag":["\"1dba66021b2f47b\""],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Vary":["Accept-Encoding"],"Accept-Ranges":["bytes"]}}
{"level":"info","ts":1746764928.6406188,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/runtime.bundle.js?5472a04be7afaf932b1a","headers":{"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002920122,"size":26154,"status":200,"resp_headers":{"Alt-Svc":["h3=\":443\"; ma=2592000"],"Accept-Ranges":["bytes"],"Content-Encoding":["gzip"],"Etag":["\"1dba66021b21180\""],"Vary":["Accept-Encoding"],"Server":["Caddy","Kestrel"],"Content-Type":["text/javascript"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"X-Response-Time-Ms":["0.7881"]}}
{"level":"info","ts":1746764928.6777678,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41096","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/main.jellyfin.7d6eaeb032d03eb0ae47.css?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["text/css,*/*;q=0.1"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.004908314,"size":16799,"status":200,"resp_headers":{"Server":["Caddy","Kestrel"],"Content-Type":["text/css"],"Etag":["\"1dba66021b3cd93\""],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Vary":["Accept-Encoding"],"X-Response-Time-Ms":["0.2917"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Encoding":["gzip"]}}
{"level":"info","ts":1746764928.6858945,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41094","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.lodash-es.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.014939171,"size":9574,"status":200,"resp_headers":{"Content-Type":["text/javascript"],"Etag":["\"1dba66021b2b19c\""],"X-Response-Time-Ms":["4.5452"],"Vary":["Accept-Encoding"],"Content-Encoding":["gzip"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Accept-Ranges":["bytes"]}}
{"level":"info","ts":1746764928.6900296,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41104","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.%40mui.icons-material.bundle.js?5472a04be7afaf932b1a","headers":{"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.00215927,"size":8553,"status":200,"resp_headers":{"Accept-Ranges":["bytes"],"Content-Encoding":["gzip"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Vary":["Accept-Encoding"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"X-Response-Time-Ms":["0.4333"],"Content-Type":["text/javascript"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Etag":["\"1dba66021b2a90d\""]}}
{"level":"info","ts":1746764928.6910307,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/37869.088680d7e7a2eede3618.css?5472a04be7afaf932b1a","headers":{"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["text/css,*/*;q=0.1"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.019617045,"size":21796,"status":200,"resp_headers":{"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Type":["text/css"],"Vary":["Accept-Encoding"],"Accept-Ranges":["bytes"],"Content-Encoding":["gzip"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"X-Response-Time-Ms":["4.5847"],"Etag":["\"1dba66021b36d7c\""]}}
{"level":"info","ts":1746764928.7033637,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41096","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.%40tanstack.query-core.bundle.js?5472a04be7afaf932b1a","headers":{"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002816095,"size":27199,"status":200,"resp_headers":{"Accept-Ranges":["bytes"],"Vary":["Accept-Encoding"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Etag":["\"1dba66021b35cf3\""],"X-Response-Time-Ms":["0.7308"],"Content-Encoding":["gzip"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Server":["Caddy","Kestrel"],"Content-Type":["text/javascript"]}}
{"level":"info","ts":1746764928.7178416,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41094","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.%40tanstack.react-query.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.001622614,"size":2790,"status":200,"resp_headers":{"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Vary":["Accept-Encoding"],"X-Response-Time-Ms":["0.6049"],"Content-Type":["text/javascript"],"Server":["Caddy","Kestrel"],"Content-Encoding":["gzip"],"Etag":["\"1dba66021b2ce88\""],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Alt-Svc":["h3=\":443\"; ma=2592000"]}}
{"level":"info","ts":1746764928.7198467,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41104","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.date-fns.esm.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002142083,"size":17588,"status":200,"resp_headers":{"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Content-Type":["text/javascript"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Encoding":["gzip"],"Vary":["Accept-Encoding"],"Etag":["\"1dba66021b3f3c5\""],"X-Response-Time-Ms":["0.3626"]}}
{"level":"info","ts":1746764928.7210393,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41092","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.%40jellyfin.sdk.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.05011647,"size":111076,"status":200,"resp_headers":{"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"X-Response-Time-Ms":["17.8329"],"Content-Encoding":["gzip"],"Etag":["\"1dba66021b99cdb\""],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Vary":["Accept-Encoding"],"Content-Type":["text/javascript"]}}
{"level":"info","ts":1746764928.7282162,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.core-js.bundle.js?5472a04be7afaf932b1a","headers":{"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.010206904,"size":70706,"status":200,"resp_headers":{"Alt-Svc":["h3=\":443\"; ma=2592000"],"X-Response-Time-Ms":["0.7346"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Server":["Caddy","Kestrel"],"Accept-Ranges":["bytes"],"Content-Encoding":["gzip"],"Etag":["\"1dba66021b01945\""],"Vary":["Accept-Encoding"],"Content-Type":["text/javascript"]}}
{"level":"info","ts":1746764928.7466137,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41106","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.react-transition-group.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.001203485,"size":3297,"status":200,"resp_headers":{"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"X-Response-Time-Ms":["0.44"],"Content-Type":["text/javascript"],"Content-Encoding":["gzip"],"Vary":["Accept-Encoding"],"Etag":["\"1dba66021b2f213\""],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"]}}
{"level":"info","ts":1746764928.74801,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41094","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.%40popperjs.core.bundle.js?5472a04be7afaf932b1a","headers":{"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002013277,"size":7757,"status":200,"resp_headers":{"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Accept-Ranges":["bytes"],"Vary":["Accept-Encoding"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Etag":["\"1dba66021b29da3\""],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Content-Type":["text/javascript"],"X-Response-Time-Ms":["1.0752"],"Content-Encoding":["gzip"]}}
{"level":"info","ts":1746764928.7526782,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41096","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.axios.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002320069,"size":24563,"status":200,"resp_headers":{"Content-Encoding":["gzip"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Etag":["\"1dba66021b3e823\""],"X-Response-Time-Ms":["0.5492"],"Accept-Ranges":["bytes"],"Server":["Caddy","Kestrel"],"Vary":["Accept-Encoding"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Content-Type":["text/javascript"]}}
{"level":"info","ts":1746764928.763255,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41106","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.webcomponents.js.bundle.js?5472a04be7afaf932b1a","headers":{"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.001369504,"size":14126,"status":200,"resp_headers":{"Alt-Svc":["h3=\":443\"; ma=2592000"],"Etag":["\"1dba66021b24a99\""],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Content-Type":["text/javascript"],"Content-Encoding":["gzip"],"Server":["Caddy","Kestrel"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Vary":["Accept-Encoding"],"X-Response-Time-Ms":["0.3209"]}}
{"level":"info","ts":1746764928.7639866,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41104","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.react-dom.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.005830535,"size":48719,"status":200,"resp_headers":{"Vary":["Accept-Encoding"],"X-Response-Time-Ms":["0.5067"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Accept-Ranges":["bytes"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Content-Encoding":["gzip"],"Etag":["\"1dba66021b3264a\""],"Content-Type":["text/javascript"]}}
{"level":"info","ts":1746764928.7652102,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41092","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.jquery.bundle.js?5472a04be7afaf932b1a","headers":{"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.004282378,"size":35450,"status":200,"resp_headers":{"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Encoding":["gzip"],"Vary":["Accept-Encoding"],"Content-Type":["text/javascript"],"Server":["Caddy","Kestrel"],"X-Response-Time-Ms":["0.4259"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Etag":["\"1dba66021b38480\""]}}
{"level":"info","ts":1746764928.7663093,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41094","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.resize-observer-polyfill.bundle.js?5472a04be7afaf932b1a","headers":{"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.001002701,"size":2718,"status":200,"resp_headers":{"Server":["Caddy","Kestrel"],"Etag":["\"1dba66021b2cf81\""],"Vary":["Accept-Encoding"],"X-Response-Time-Ms":["0.3233"],"Accept-Ranges":["bytes"],"Content-Encoding":["gzip"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Type":["text/javascript"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"]}}
{"level":"info","ts":1746764928.7691197,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.regenerator-runtime.bundle.js?5472a04be7afaf932b1a","headers":{"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.000865707,"size":2756,"status":200,"resp_headers":{"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Content-Type":["text/javascript"],"X-Response-Time-Ms":["0.2768"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Vary":["Accept-Encoding"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Etag":["\"1dba66021b2cbcc\""],"Content-Encoding":["gzip"]}}
{"level":"info","ts":1746764928.7704265,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41096","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.jellyfin-apiclient.bundle.js?5472a04be7afaf932b1a","headers":{"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002207234,"size":23614,"status":200,"resp_headers":{"Alt-Svc":["h3=\":443\"; ma=2592000"],"Vary":["Accept-Encoding"],"Content-Type":["text/javascript"],"X-Response-Time-Ms":["0.3992"],"Server":["Caddy","Kestrel"],"Accept-Ranges":["bytes"],"Content-Encoding":["gzip"],"Etag":["\"1dba66021b38659\""],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"]}}
{"level":"info","ts":1746764928.7948933,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41104","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.history.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002472252,"size":181,"status":200,"resp_headers":{"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Etag":["\"1dba66021b2d14d\""],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Encoding":["gzip"],"Vary":["Accept-Encoding"],"X-Response-Time-Ms":["0.0969"],"Content-Type":["text/javascript"],"Accept-Ranges":["bytes"]}}
{"level":"info","ts":1746764928.7951174,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.dompurify.bundle.js?5472a04be7afaf932b1a","headers":{"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.003081815,"size":9407,"status":200,"resp_headers":{"Vary":["Accept-Encoding"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Accept-Ranges":["bytes"],"Etag":["\"1dba66021b287cf\""],"X-Response-Time-Ms":["0.3404"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Content-Type":["text/javascript"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Content-Encoding":["gzip"]}}
{"level":"info","ts":1746764928.7961736,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41094","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.intersection-observer.bundle.js?5472a04be7afaf932b1a","headers":{"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.005635705,"size":3369,"status":200,"resp_headers":{"Server":["Caddy","Kestrel"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Content-Encoding":["gzip"],"Vary":["Accept-Encoding"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"X-Response-Time-Ms":["0.4946"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Type":["text/javascript"],"Accept-Ranges":["bytes"],"Etag":["\"1dba66021b2f2d7\""]}}
{"level":"info","ts":1746764928.7966588,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41096","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.%40remix-run.router.bundle.js?5472a04be7afaf932b1a","headers":{"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.004735374,"size":26837,"status":200,"resp_headers":{"Server":["Caddy","Kestrel"],"Accept-Ranges":["bytes"],"X-Response-Time-Ms":["0.3809"],"Vary":["Accept-Encoding"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Type":["text/javascript"],"Content-Encoding":["gzip"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Etag":["\"1dba66021b3cca0\""]}}
{"level":"info","ts":1746764928.7968755,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41092","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.react-router-dom.bundle.js?5472a04be7afaf932b1a","headers":{"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.005080871,"size":6993,"status":200,"resp_headers":{"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Server":["Caddy","Kestrel"],"X-Response-Time-Ms":["0.3741"],"Etag":["\"1dba66021b292a5\""],"Vary":["Accept-Encoding"],"Content-Type":["text/javascript"],"Content-Encoding":["gzip"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Accept-Ranges":["bytes"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"]}}
{"level":"info","ts":1746764928.8037574,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41106","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/node_modules.react-router.bundle.js?5472a04be7afaf932b1a","headers":{"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.011583772,"size":5251,"status":200,"resp_headers":{"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Vary":["Accept-Encoding"],"Content-Type":["text/javascript"],"X-Response-Time-Ms":["0.4946"],"Accept-Ranges":["bytes"],"Content-Encoding":["gzip"],"Etag":["\"1dba66021b2e21b\""]}}
{"level":"info","ts":1746764928.8203483,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41104","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/37869.bundle.js?5472a04be7afaf932b1a","headers":{"Connection":["keep-alive"],"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002917326,"size":27839,"status":200,"resp_headers":{"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Accept-Ranges":["bytes"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Vary":["Accept-Encoding"],"Etag":["\"1dba66021b3c5a2\""],"X-Response-Time-Ms":["0.5519"],"Content-Type":["text/javascript"],"Content-Encoding":["gzip"]}}
{"level":"info","ts":1746764928.8218846,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41090","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/serviceworker.js?5472a04be7afaf932b1a","headers":{"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"],"Accept":["*/*"]},"tls":{"resumed":false,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.002949938,"size":428,"status":200,"resp_headers":{"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Content-Encoding":["gzip"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Content-Type":["text/javascript"],"Accept-Ranges":["bytes"],"Vary":["Accept-Encoding"],"Server":["Caddy","Kestrel"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"X-Response-Time-Ms":["0.3364"],"Etag":["\"1dba66021b2d280\""]}}
{"level":"info","ts":1746764928.8423955,"logger":"http.log.access","msg":"handled request","request":{"remote_ip":"192.168.2.21","remote_port":"41094","client_ip":"192.168.2.21","proto":"HTTP/1.1","method":"GET","host":"jellyfin.mydomain.com","uri":"/web/main.jellyfin.bundle.js?5472a04be7afaf932b1a","headers":{"Accept":["*/*"],"User-Agent":["Mozilla/5.0 (Web0S; Linux/SmartTV) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36 WebAppManager"],"Accept-Encoding":["gzip,deflate"],"Accept-Language":["en-us,en"],"Connection":["keep-alive"]},"tls":{"resumed":true,"version":771,"cipher_suite":49195,"proto":"http/1.1","server_name":"jellyfin.mydomain.com"}},"bytes_read":0,"user_id":"","duration":0.023498814,"size":146876,"status":200,"resp_headers":{"Date":["Fri, 09 May 2025 04:28:48 GMT"],"Last-Modified":["Sat, 05 Apr 2025 19:22:55 GMT"],"Alt-Svc":["h3=\":443\"; ma=2592000"],"Content-Encoding":["gzip"],"Content-Type":["text/javascript"],"Accept-Ranges":["bytes"],"X-Response-Time-Ms":["0.2997"],"Server":["Caddy","Kestrel"],"Etag":["\"1dba66021b57036\""],"Vary":["Accept-Encoding"]}}
I am familiar with the common nginx issue where X-Frame-Options is set, but Caddy does not set this header by default, to my knowledge (you can see in the logs it does not appear)
I verified this with curl:
Code: $ curl --head -i https://jellyfin.mydomain.com/web/
HTTP/2 200
accept-ranges: bytes
alt-svc: h3=":443"; ma=2592000
content-type: text/html
date: Fri, 09 May 2025 04:34:55 GMT
etag: "1db2e0a053d2a7b"
last-modified: Sun, 03 Nov 2024 16:04:11 GMT
server: Caddy
server: Kestrel
x-response-time-ms: 3.4156
content-length: 9723
Other things I have tried/checked:- Ensured reverse proxy subnet is set in Networking settings (it's set to 172.19.0.0/16 which is the subnet of the bridge network, and I've verified that proper IPs are showing up in Jellyfin logs)
- Rolling jellyfin back as far as 10.9.8
- Rolling back caddy-docker-proxy several releases
- Reinstalling jellyfin-webos both from the WebOS appstore as well as the Homebrew channel
- Manually unsetting X-Frame-Options headers in my Caddyfile just in case they were somehow set
- Downloaded the oldest version of Chrome I could find ( v48 ) to see if jellyfin-web was breaking with older Chrome versions
Relevant piece of docker-compose:
Code: caddy:
container_name: caddy
image: homeall/caddy-reverse-proxy-cloudflare:2025.05.06
environment:
- CADDY_INGRESS_NETWORKS=caddy
labels:
caddy.email: $CF_EMAIL
caddy.acme_dns: "cloudflare {env.CF_API_TOKEN}"
caddy.log:
caddy.log.include: http.log.access
caddy.log.level: WARN
caddy_0: (internal)
caddy_0.@internal: remote_ip private_ranges
caddy_0.@external: not remote_ip private_ranges
caddy_0.reverse_proxy: "@internal {args[:]}"
caddy_0.respond: "@external `Forbidden` 403"
caddy_1: ${HOSTNAME}.${DOMAIN}
caddy_1.import: internal ${HOSTNAME}.${DOMAIN}:5000
org.hotio.pullio.update: ${PULLIO_UPDATE}
network_mode: host
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- caddyData:/data
restart: unless-stopped
jellyfin:
container_name: jellyfin
image: ghcr.io/hotio/jellyfin:release
environment:
- PUID=${PUID}
- PGID=${PGID}
- TZ=${TZ}
- UMASK=002
volumes:
- /etc/localtime:/etc/localtime:ro
labels:
caddy: jellyfin.${DOMAIN}
caddy.import: internal "{{upstreams 8096}}"
caddy.log:
healthcheck:
test: [ "CMD", "curl", "--fail", "https://jellyfin.${DOMAIN}/health" ]
interval: 1m
start_period: 30s
networks:
- caddy
volumes:
- ${DOCKERCONFDIR}/jellyfin:/config
- ${DOCKERSTORAGEDIR}/media:/data/media
devices:
- /dev/dri:/dev/dri
|