From 020ae1b8442e668e9736e55374fc981ecd5db81f Mon Sep 17 00:00:00 2001 From: Gene Liverman Date: Wed, 20 Dec 2023 20:09:50 -0500 Subject: [PATCH] Add Nginx for Jellyfin on port 80 SSL will come later, this is for the LAN --- modules/hosts/nixos/nixnuc/default.nix | 34 ++++++++++++++++++++++++- modules/hosts/nixos/nixnuc/secrets.yaml | 6 ++--- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/modules/hosts/nixos/nixnuc/default.nix b/modules/hosts/nixos/nixnuc/default.nix index 17266d5..f587f2a 100644 --- a/modules/hosts/nixos/nixnuc/default.nix +++ b/modules/hosts/nixos/nixnuc/default.nix @@ -17,6 +17,7 @@ jellyfin-ffmpeg jellyfin-web net-snmp + nginx yt-dlp ]; @@ -33,7 +34,7 @@ networking = { # Open ports in the firewall. - firewall.allowedTCPPorts = [ 22 ]; + firewall.allowedTCPPorts = [ 22 80 ]; # firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. # firewall.enable = false; @@ -72,6 +73,37 @@ enable = true; openFirewall = true; }; + nginx = { + enable = true; + virtualHosts."jellyfin" = { + default = true; + listen = [ + { + addr = "0.0.0.0"; + port = 80; + } + ]; + locations = { + "= /" = { + return = "302 http://$host/web/"; + }; + "/" = { + proxyPass = "http://127.0.0.1:8096"; + recommendedProxySettings = true; + extraConfig = "proxy_buffering off;"; + }; + "= /web/" = { + proxyPass = "http://127.0.0.1:8096/web/index.html"; + recommendedProxySettings = true; + }; + "/socket" = { + proxyPass = "http://127.0.0.1:8096"; + recommendedProxySettings = true; + proxyWebsockets = true; + }; + }; + }; + }; tailscale = { extraUpFlags = [ "--advertise-exit-node" diff --git a/modules/hosts/nixos/nixnuc/secrets.yaml b/modules/hosts/nixos/nixnuc/secrets.yaml index 1895889..de8c622 100644 --- a/modules/hosts/nixos/nixnuc/secrets.yaml +++ b/modules/hosts/nixos/nixnuc/secrets.yaml @@ -1,6 +1,6 @@ tailscale_key: ENC[AES256_GCM,data:aB3KUD4QYm+ZDrjjLcU3gQ8kneVGkVYBsrkVcioOhxunal2FekLDrpKxJwNXuiwx2M5vipnGAEPO,iv:e+tPPfVYkv4U0KRGwspWb1O3ZQom/WFFGm9H9cd/KKE=,tag:ZG5z1C18bj1L7DcGzunQ0w==,type:str] local_git_config: ENC[AES256_GCM,data:Nqwog5C4wnRzNoS4oqaYQ4J1DIj7fUL1y/nXESquR0N7KQ+ebhvuJnM=,iv:Q6o45LZStS3k8iO7s2P6u7OrKFu5alplshZuGgeRKmk=,tag:NcLJrI9AK4eDroODX15lcA==,type:str] -local_private_env: "" +local_private_env: ENC[AES256_GCM,data:qOPXTS2uo/1jyVEKCtBvuK/dzZaPf1K5tHuSVF2hBg4fdPYIsDPkM108cGVxJviebB3xVZejn/JVOdUDXQj6,iv:TtyMTOJXaPUrbSaAdtMaGPBlwLl/Y/IBYVCzhhiZozY=,tag:hUyVL8xk3w1iMwNAZw5QUw==,type:str] sops: kms: [] gcp_kms: [] @@ -16,8 +16,8 @@ sops: bHZlNTZDV2NYU1hQQy9mem80SFF6TFkKfmjkJBfTdh0vTtGaVx1t3tHJvSsAwdYD PF025X9U+yG2oIopwXEVBkxcD70eyuJn3OqH0xoVLBkbhNM9i8LHrA== -----END AGE ENCRYPTED FILE----- - lastmodified: "2023-12-18T23:32:41Z" - mac: ENC[AES256_GCM,data:ZBxEwy4+Z+o+WjpiSyYoRl3yipE38WlosHdlCjSW6evwrgZtMhGqOjvYloKLMhWNdRdRbpmfQfXjsdaiLIkyWMYAQ4zv3GdVTwCzjFOEQV/1J/7yohBMT6zDd73go73/2jys4HPYp44AuLIMm5ngzmt+fszOUvnuOFUBogqJ/rY=,iv:qnFlQ5NKbnu96ZURN5t1dS0279Pid9D5reWX1xVkqeQ=,tag:61rKxPC1TnuAgOJy0090Pw==,type:str] + lastmodified: "2023-12-21T01:11:58Z" + mac: ENC[AES256_GCM,data:Yr41oSVmHr6UJ5H9tSTq5Cv5yZJH3Mfi7QQowJ6uu/L9WO4Ehjij3z7WGhsYk3EQvZjH0C2pcFKZY4ldaMLJNGN3pn0xmIvs3H4KIpVcmJLbPjUzRguCDV4ETSrBcB1z6IF1YPnCzUGmGWLkEePIZmeVvXMkBvKWITXzm9ApCHM=,iv:crQ9DBzq3btjrTZt+Pcch+evJszzVmokLM4pyRhGTo8=,tag:6GfDtzoCdFMw65VWL4CU/A==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.8.1