46 lines
1.2 KiB
Nix
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 ];
|
|
}
|