diff --git a/hosts/nixedo/modules/jellyfin.nix b/hosts/nixedo/modules/jellyfin.nix index 69f1bc16..fa58f121 100644 --- a/hosts/nixedo/modules/jellyfin.nix +++ b/hosts/nixedo/modules/jellyfin.nix @@ -1,16 +1,34 @@ { - services = { - jellyfin = { - enable = true; - openFirewall = true; - group = "media"; - configDir = "/mnt/media/jellyfin"; - }; + services = + let + port = 8096; + in + { + jellyfin = { + enable = true; + openFirewall = true; + group = "media"; + configDir = "/mnt/media/jellyfin"; + }; - caddy.virtualHosts."jellyfin.oliverdavies.uk" = { - useACMEHost = "oliverdavies.uk"; + nginx.virtualHosts."jellyfin.oliverdavies.uk" = { + forceSSL = true; + useACMEHost = "oliverdavies.uk"; - extraConfig = "reverse_proxy localhost:8096"; + locations."/" = { + proxyPass = "http://localhost:${toString port}"; + + extraConfig = '' + proxy_set_header Host $host; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Host $http_host; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-Protocol $scheme; + proxy_set_header X-Real-IP $remote_addr; + + proxy_buffering off; + ''; + }; + }; }; - }; }