aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/configuration/server/jellyfin/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/configuration/server/jellyfin/default.nix')
-rw-r--r--infra/libkookie/configuration/server/jellyfin/default.nix45
1 files changed, 45 insertions, 0 deletions
diff --git a/infra/libkookie/configuration/server/jellyfin/default.nix b/infra/libkookie/configuration/server/jellyfin/default.nix
new file mode 100644
index 000000000000..b1ad60a98bb7
--- /dev/null
+++ b/infra/libkookie/configuration/server/jellyfin/default.nix
@@ -0,0 +1,45 @@
+{ config, lib, ... }:
+
+{
+ # Default port should be 8096
+ services.jellyfin = {
+ enable = true;
+ group = "core";
+ };
+
+ # Required for chromecast stuff...
+ networking.firewall.allowedTCPPorts = [ 8096 ];
+
+ # Give jellyfin "core" group
+ users.users.jellyfin.extraGroups = [ "core" ];
+
+ # Enable nginx if not already
+ services.nginx.enable = true;
+ services.nginx.virtualHosts."media.kookiejar.tech" = {
+ serverAliases = [ "media.alarei.kookie.space" "kookiejar.tech" ];
+ useACMEHost = "alarei.kookie.space";
+ forceSSL = true;
+ locations."/" = {
+ proxyPass = "http://127.0.0.1:8096";
+ };
+
+ locations."/socket" = {
+ proxyPass = "http://127.0.0.1:8096";
+ extraConfig = ''
+ # global proxy conf
+ 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-Host $host:$server_port;
+ proxy_set_header X-Forwarded-Port $server_port;
+
+ # websocket support
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection $connection_upgrade;
+ '';
+ };
+ };
+
+}