diff --git a/hosts/Infini-OPTIPLEX/jellyfin.nix b/hosts/Infini-OPTIPLEX/jellyfin.nix index 2a84d33..52464b6 100644 --- a/hosts/Infini-OPTIPLEX/jellyfin.nix +++ b/hosts/Infini-OPTIPLEX/jellyfin.nix @@ -3,20 +3,44 @@ let address = "127.0.0.1"; port = 8096; jellyfin = "http://${address}:${toString port}"; + proxyConfig = '' + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Protocol $scheme; + proxy_set_header X-Forwarded-Host $http_host; + ''; in { services.nginx.virtualHosts."jellyfin.inx.moe" = config.common.nginx.ssl // { + extraConfig = '' + client_max_body_size 20M; + ''; + locations."= /" = { return = "302 https://$host/web/"; }; locations."/" = { proxyPass = jellyfin; + recommendedProxySettings = false; + extraConfig = proxyConfig + '' + proxy_buffering off; + ''; + }; + + locations."= /web/" = { + proxyPass = "${jellyfin}/web/index.html"; + recommendedProxySettings = false; + extraConfig = proxyConfig; }; locations."/socket" = { proxyPass = jellyfin; proxyWebsockets = true; + recommendedProxySettings = false; + extraConfig = proxyConfig; }; };