diff --git a/hosts/Infini-OPTIPLEX/default.nix b/hosts/Infini-OPTIPLEX/default.nix index 65f51bd..67ec744 100644 --- a/hosts/Infini-OPTIPLEX/default.nix +++ b/hosts/Infini-OPTIPLEX/default.nix @@ -7,6 +7,7 @@ ./freshrss.nix ./thelounge.nix ./vaultwarden.nix + ./jellyfin.nix ]; system.stateVersion = "23.05"; diff --git a/hosts/Infini-OPTIPLEX/jellyfin.nix b/hosts/Infini-OPTIPLEX/jellyfin.nix new file mode 100644 index 0000000..2a84d33 --- /dev/null +++ b/hosts/Infini-OPTIPLEX/jellyfin.nix @@ -0,0 +1,30 @@ +{ config, pkgs, ... }: +let + address = "127.0.0.1"; + port = 8096; + jellyfin = "http://${address}:${toString port}"; +in +{ + services.nginx.virtualHosts."jellyfin.inx.moe" = config.common.nginx.ssl // { + locations."= /" = { + return = "302 https://$host/web/"; + }; + + locations."/" = { + proxyPass = jellyfin; + }; + + locations."/socket" = { + proxyPass = jellyfin; + proxyWebsockets = true; + }; + }; + + services.jellyfin = { + enable = true; + dataDir = "/srv/jellyfin"; + openFirewall = true; + }; + + persist.directories = with config.services.jellyfin; [ dataDir cacheDir logDir ]; +}