This repository has no description
927 B
34 lines
1let
2 domain = "parley.lassul.us";
3in
4{
5 # parley: federated chat that speaks plain IRC. Identities are
6 # nick@lassul.us; peers find this instance via the _parley._tcp.lassul.us
7 # SRV record (configs/dns/lassul.us.zone).
8 lass.parley = {
9 enable = true;
10 settings = {
11 PARLEY_DOMAIN = "lassul.us";
12 PARLEY_ENDPOINT = "https://${domain}";
13 };
14 users.lassulus.role = "admin";
15 };
16
17 services.nginx.virtualHosts.${domain} = {
18 enableACME = true;
19 forceSSL = true;
20 locations."/".proxyPass = "http://127.0.0.1:8443";
21 };
22
23 # IRC over TLS (parleyd advertises 6697 by default)
24 services.nginx.streamConfig = ''
25 server {
26 listen 6697 ssl;
27 listen [::]:6697 ssl;
28 ssl_certificate /var/lib/acme/${domain}/fullchain.pem;
29 ssl_certificate_key /var/lib/acme/${domain}/key.pem;
30 proxy_pass 127.0.0.1:6667;
31 }
32 '';
33 networking.firewall.allowedTCPPorts = [ 6697 ];
34}