katzen-cafe/modules/proxy.nix

116 lines
3 KiB
Nix
Raw Normal View History

2023-04-25 15:57:59 +02:00
{ pkgs, ... }:
{
security.acme = {
acceptTerms = true;
defaults = {
email = "jade@schrottkatze.de";
webroot = "/var/lib/acme/acme-challenge";
};
certs = {
"meet.katzen.cafe" = {
group = "nginx";
keyType = "rsa4096";
};
2023-05-03 14:38:40 +02:00
"forge.katzen.cafe" = {
group = "nginx";
keyType = "rsa4096";
};
2023-04-30 14:56:30 +02:00
"wiki.phtanum-b.katzen.cafe" = {
group = "nginx";
keyType = "rsa4096";
};
2023-04-27 01:48:20 +02:00
"auth.katzen.cafe" = {
2023-04-26 23:25:04 +02:00
group = "nginx";
keyType = "rsa4096";
};
"design.katzen.cafe" = {
group = "nginx";
keyType = "rsa4096";
};
2023-05-06 03:19:19 +02:00
"ck.katzen.cafe" = {
group = "nginx";
keyType = "rsa4096";
};
2023-05-08 07:17:06 +02:00
"mumble.katzen.cafe" = {
group = "murmur";
keyType = "rsa4096";
};
2023-05-10 08:39:24 +02:00
"prosody.katzen.cafe" = {
group = "prosody";
keyType = "rsa4096";
extraDomainNames = [
"uploads.prosody.katzen.cafe"
"conference.prosody.katzen.cafe"
];
2023-05-10 08:39:24 +02:00
};
2023-04-26 23:25:04 +02:00
};
};
services.nginx = {
enable = true;
recommendedGzipSettings = true;
recommendedOptimisation = true;
recommendedTlsSettings = true;
recommendedProxySettings = true;
2023-04-26 23:25:04 +02:00
virtualHosts = {
2023-05-06 03:19:19 +02:00
"ck.katzen.cafe" = {
2023-04-30 14:56:30 +02:00
forceSSL = true;
enableACME = true;
locations."/" = {
2023-05-06 03:19:19 +02:00
proxyPass = "http://127.0.0.1:3000";
proxyWebsockets = true;
extraConfig = ''
client_max_body_size 8M;
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 https;
'';
2023-04-30 14:56:30 +02:00
};
};
2023-05-03 14:38:40 +02:00
"forge.katzen.cafe" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.1:8082";
};
};
2023-04-26 23:25:04 +02:00
"auth.katzen.cafe" = {
forceSSL = true;
enableACME = true;
locations."/" = {
2023-04-30 14:56:30 +02:00
proxyPass = "http://127.0.0.1:8080";
extraConfig = ''
proxy_buffers 4 256k;
proxy_buffer_size 128k;
proxy_busy_buffers_size 256k;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_protocol_addr;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
'';
};
#extraConfig = ''
#'';
};
"design.katzen.cafe" = {
forceSSL = true;
enableACME = true;
locations."/" = {
2023-05-06 03:19:19 +02:00
proxyPass = "http://127.0.0.1:9001";
proxyWebsockets = true;
2023-04-26 23:25:04 +02:00
};
};
2023-05-06 03:19:19 +02:00
"wiki.phtanum-b.katzen.cafe" = {
forceSSL = true;
enableACME = true;
locations."/" = {
proxyPass = "http://127.0.0.2:8081";
};
};
2023-04-25 15:57:59 +02:00
};
};
}