build works

This commit is contained in:
emily 2024-01-17 19:34:13 +01:00
parent 8fcd52c9f9
commit ac86e0ce9f
Signed by: emily
GPG key ID: F6F4C66207FCF995
2 changed files with 61 additions and 5 deletions

View file

@ -14,8 +14,12 @@
systemd.network.networks."98-eth-default" = { systemd.network.networks."98-eth-default" = {
address = [ address = [
"2a0f:be01:0:100::1337/128" "2a0f:be01:0:100::1337/128"
"2a0f:be01:0:100::1338/128"
]; ];
}; };
services.jellyfin.enable = true; services.jellyfin.enable = true;
services.sonarr.enable = true;
services.radarr.enable = true;
services.prowlarr.enable = true;
} }

View file

@ -1,10 +1,43 @@
{ config, pkgs, ... }: { config, pkgs, lib, ... }:
let let
landingPage = pkgs.writeTextFile {
name = "index.html";
text = ''
<!DOCTYPE html>
<html>
<head>
<title>crime.kyouma.net</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to crime.kyouma.net!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>
<p>Sonarr
<a href="https://crime.kyouma.net/sonarr">crime.kyouma.net/sonarr</a><br/>
Radarr
<a href="https://crime.kyouma.net/radarr">crime.kyouma.net/radarr</a><br/>
Prowlarr
<a href="https://crime.kyouma.net/prowlarr">crime.kyouma.net/prowlarr</a></p>
<p><em>Thank you for using nginx.</em></p>
</body>
</html>
'';
destination = "/index.html";
};
extraConfig = '' extraConfig = ''
add_header Strict-Transport-Security $hsts_header; add_header Strict-Transport-Security $hsts_header;
add_header X-Content-Type-Options "nosniff" always; add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" 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; add_header Referrer-Policy "same-origin" always;
''; '';
proxyConfig = '' proxyConfig = ''
@ -17,7 +50,7 @@ let
''; '';
jellyAddr = "[::1]"; jellyAddr = "[::1]";
jellyWeb = { jellyWeb = {
forceSSl = true; forceSSL = true;
http3 = true; http3 = true;
quic = true; quic = true;
inherit extraConfig; inherit extraConfig;
@ -32,11 +65,11 @@ let
''; '';
}; };
"= /web/" = { "= /web/" = {
proxyPass = "http://${jellyAddr}:8096/web/index.html" proxyPass = "http://${jellyAddr}:8096/web/index.html";
extraConfig = proxyConfig; extraConfig = proxyConfig;
}; };
"/socket" = { "/socket" = {
proxyPass = "http://${jellyAddr}:8096" proxyPass = "http://${jellyAddr}:8096";
proxyWebsockets = true; proxyWebsockets = true;
extraConfig = proxyConfig; extraConfig = proxyConfig;
}; };
@ -62,9 +95,28 @@ in {
return 403; 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 = { security.acme.certs = {
"fentanyl.trade" = { extraDomainNames = [ "frotti.ng" "watch.kyouma.net" ]; }; "fentanyl.trade" = { extraDomainNames = [ "frotti.ng" "watch.kyouma.net" ]; };
"crime.kyouma.net" = {};
}; };
} }