nix-config/hosts/cirrus/irc.nix
2023-02-09 19:23:12 +01:00

46 lines
1.2 KiB
Nix

{ pkgs, config, ... }: {
services.nginx = {
# reverse-proxy irc traffic on 7000
streamConfig = ''
upstream soju {
server 127.0.0.1:6667;
}
server {
listen 7000 ssl;
listen [::]:7000 ssl;
ssl_certificate /var/lib/acme/mrbouncy.oxapentane.com/fullchain.pem;
ssl_certificate_key /var/lib/acme/mrbouncy.oxapentane.com/key.pem;
ssl_trusted_certificate /var/lib/acme/mrbouncy.oxapentane.com/chain.pem;
proxy_pass soju;
}
'';
# just here to get the cert for irc reverse proxy
virtualHosts = {
"mrbouncy.oxapentane.com" = {
enableACME = true;
forceSSL = true;
locations = {
"/" = {
# no content for now, here just for no-boilerplate cert
return = "204";
};
};
};
};
};
services.soju = {
hostName = "mrbouncy.oxapentane.com";
listen = [ "irc+insecure://127.0.0.1:6667" ];
enable = true;
enableMessageLogging = true;
acceptProxyIP = [ "localhost" ];
};
environment.systemPackages = [ pkgs.soju ]; # expose soju mgmt commands
networking.firewall.allowedTCPPorts = [ 7000 ];
}