all repos

dotfiles @ 9068778

i use rach linux btw

dotfiles/nix/modules/soju.nix (view raw)

1
{ ... }:
2
let
3
  domain = "irc.olexsmir.xyz";
4
in
5
{
6
  networking.firewall.allowedTCPPorts = [ 6697 ];
7
  services.caddy = {
8
    virtualHosts.${domain}.extraConfig = ''
9
      respond "irc bouncer"
10
    '';
11
    globalConfig = ''
12
      layer4 {
13
        :6697 {
14
          route {
15
            tls {
16
              connection_policy {
17
                alpn http/1.1 http/1.0 irc
18
                default_sni ${domain}
19
              }
20
            }
21
            proxy {
22
              proxy_protocol v2
23
              upstream localhost:6667
24
            }
25
          }
26
        }
27
      }
28
    '';
29
  };
30
31
  services.soju = {
32
    enable = true;
33
    hostName = domain;
34
    listen = [ "irc+insecure://localhost:6667" ];
35
    acceptProxyIP = [ "localhost" ];
36
  };
37
}