nix-configs/hosts/schrottserver/proxy.nix

125 lines
3.1 KiB
Nix
Raw Normal View History

2023-02-03 22:06:00 +00:00
{ inputs, config, pkgs, ... }:
2023-02-04 00:14:39 +00:00
{
2023-02-03 22:06:00 +00:00
security.acme = {
acceptTerms = true;
defaults.email = "jade@schrottkatze.de";
certs = {
2023-02-06 09:51:15 +00:00
"schrottkatze.de" = {
group = "nginx";
keyType = "rsa4096";
2023-02-06 09:51:15 +00:00
};
2023-02-04 00:14:39 +00:00
"vw.schrottkatze.de" = {
2023-02-03 22:06:00 +00:00
group = "nginx";
keyType = "rsa4096";
2023-02-03 22:06:00 +00:00
};
2023-02-06 09:51:15 +00:00
"wolke.schrottkatze.de" = {
group = "nginx";
keyType = "rsa4096";
2023-02-06 09:51:15 +00:00
};
2023-02-16 11:11:05 +00:00
"s10e.de" = {
group = "nginx";
keyType = "rsa4096";
2023-02-16 11:11:05 +00:00
};
2023-02-19 01:04:30 +00:00
"synapse.schrottkatze.de" = {
group = "nginx";
keyType = "rsa4096";
2023-02-19 01:27:09 +00:00
};
2023-03-05 09:56:03 +00:00
"pp.schrottkatze.de" = {
group = "nginx";
keyType = "rsa4096";
2023-03-05 09:56:03 +00:00
};
2023-02-03 22:06:00 +00:00
};
};
2023-04-12 12:17:06 +00:00
environment.systemPackages = [ inputs.meowsite.packages."x86_64-linux".default inputs.gumseite.packages."x86_64-linux".default ];
2023-02-06 09:51:15 +00:00
2023-02-03 22:06:00 +00:00
services.nginx = {
enable = true;
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedProxySettings = true;
recommendedTlsSettings = true;
virtualHosts = {
2023-02-06 09:51:15 +00:00
"schrottkatze.de" = {
forceSSL = true;
enableACME = true;
root = "${inputs.meowsite.packages."x86_64-linux".default}";
};
2023-02-04 00:14:39 +00:00
"vw.schrottkatze.de" = {
2023-02-03 22:06:00 +00:00
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:8812"; #changed the default rocket port due to some conflict
proxyWebsockets = true;
};
locations."/notifications/hub" = {
proxyPass = "http://localhost:3012";
proxyWebsockets = true;
};
locations."/notifications/hub/negotiate" = {
proxyPass = "http://localhost:8812";
proxyWebsockets = true;
};
};
2023-02-04 00:14:39 +00:00
"wolke.schrottkatze.de" = {
forceSSL = true;
enableACME = true;
};
2023-03-05 09:56:03 +00:00
"pp.schrottkatze.de" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://localhost:9001";
2023-03-06 19:00:42 +00:00
proxyWebsockets = true;
2023-03-05 09:56:03 +00:00
};
};
2023-02-16 11:11:05 +00:00
"s10e.de" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:8080$request_uri";
};
};
2023-02-19 01:04:30 +00:00
"synapse.schrottkatze.de" = {
forceSSL = true;
enableACME = true;
http2 = true;
listen = [
{
2023-02-19 01:27:09 +00:00
addr = "0.0.0.0";
port = 443;
ssl = true;
}
{
addr = "[::]";
2023-02-19 01:04:30 +00:00
port = 443;
ssl = true;
}
{
2023-02-19 01:27:09 +00:00
addr = "0.0.0.0";
port = 8448;
ssl = true;
}
{
addr = "[::]";
2023-02-19 01:04:30 +00:00
port = 8448;
ssl = true;
}
];
2023-02-19 01:27:09 +00:00
locations."~ ^(/_matrix|/_synapse/client)" = {
2023-02-19 01:04:30 +00:00
proxyPass = "http://localhost:8008";
2023-02-19 01:27:09 +00:00
extraConfig = ''
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
client_max_body_size 2G;
'';
2023-02-19 01:04:30 +00:00
};
2023-02-19 01:27:09 +00:00
extraConfig = "proxy_http_version 1.1;";
2023-02-19 01:04:30 +00:00
};
2023-02-03 22:06:00 +00:00
};
};
}