diff --git a/config/hosts/crime/configuration.nix b/config/hosts/crime/configuration.nix index 001227c..47d813c 100644 --- a/config/hosts/crime/configuration.nix +++ b/config/hosts/crime/configuration.nix @@ -14,8 +14,12 @@ systemd.network.networks."98-eth-default" = { address = [ "2a0f:be01:0:100::1337/128" + "2a0f:be01:0:100::1338/128" ]; }; services.jellyfin.enable = true; + services.sonarr.enable = true; + services.radarr.enable = true; + services.prowlarr.enable = true; } diff --git a/config/hosts/crime/nginx.nix b/config/hosts/crime/nginx.nix index 28572b6..31a2b6b 100644 --- a/config/hosts/crime/nginx.nix +++ b/config/hosts/crime/nginx.nix @@ -1,10 +1,43 @@ -{ config, pkgs, ... }: +{ config, pkgs, lib, ... }: let + landingPage = pkgs.writeTextFile { + name = "index.html"; + text = '' + + + + crime.kyouma.net + + + +

Welcome to crime.kyouma.net!

+

If you see this page, the nginx web server is successfully installed and + working. Further configuration is required.

+ +

Sonarr + crime.kyouma.net/sonarr
+ Radarr + crime.kyouma.net/radarr
+ Prowlarr + crime.kyouma.net/prowlarr

+ +

Thank you for using nginx.

+ + + ''; + destination = "/index.html"; + }; extraConfig = '' add_header Strict-Transport-Security $hsts_header; add_header X-Content-Type-Options "nosniff" always; add_header X-XSS-Protection "1; mode=block" always; - #add_header X-Frame-Options "SAMEORIGIN" always; + add_header X-Frame-Options "SAMEORIGIN" always; add_header Referrer-Policy "same-origin" always; ''; proxyConfig = '' @@ -17,7 +50,7 @@ let ''; jellyAddr = "[::1]"; jellyWeb = { - forceSSl = true; + forceSSL = true; http3 = true; quic = true; inherit extraConfig; @@ -32,11 +65,11 @@ let ''; }; "= /web/" = { - proxyPass = "http://${jellyAddr}:8096/web/index.html" + proxyPass = "http://${jellyAddr}:8096/web/index.html"; extraConfig = proxyConfig; }; "/socket" = { - proxyPass = "http://${jellyAddr}:8096" + proxyPass = "http://${jellyAddr}:8096"; proxyWebsockets = true; extraConfig = proxyConfig; }; @@ -62,9 +95,28 @@ in { return 403; ''; }; + "crime.kyouma.net" = { + listenAddresses = [ "[2a0f:be01:0:100::1338]" ]; + locations = { + "/".root = landingPage; + "/sonarr/" = { + proxyPass = "http://127.0.0.1:8989"; + recommendedProxySettings = true; + }; + "/radarr/" = { + proxyPass = "http://127.0.0.1:7878"; + recommendedProxySettings = true; + }; + "/prowlarr/" = { + proxyPass = "http://127.0.0.1:9696"; + recommendedProxySettings = true; + }; + }; + }; }; }; security.acme.certs = { "fentanyl.trade" = { extraDomainNames = [ "frotti.ng" "watch.kyouma.net" ]; }; + "crime.kyouma.net" = {}; }; }