108 lines
2.6 KiB
Nix
108 lines
2.6 KiB
Nix
|
{ ... }: {
|
||
|
services.ergochat = {
|
||
|
enable = true;
|
||
|
settings = {
|
||
|
accounts = {
|
||
|
authentication-enabled = true;
|
||
|
multiclient = {
|
||
|
allowed-by-default = true;
|
||
|
always-on = "opt-out";
|
||
|
auto-away = "opt-out";
|
||
|
enabled = true;
|
||
|
};
|
||
|
registration = {
|
||
|
allow-before-connect = true;
|
||
|
bcrypt-cost = 4;
|
||
|
email-verification = { enabled = false; };
|
||
|
enabled = true;
|
||
|
throttling = {
|
||
|
duration = "10m";
|
||
|
enabled = true;
|
||
|
max-attempts = 30;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
channels = {
|
||
|
default-modes = "+ntC";
|
||
|
registration = { enabled = true; };
|
||
|
};
|
||
|
datastore = {
|
||
|
autoupgrade = true;
|
||
|
path = "/var/lib/ergo/ircd.db";
|
||
|
};
|
||
|
history = {
|
||
|
autoreplay-on-join = 0;
|
||
|
autoresize-window = "3d";
|
||
|
channel-length = 2048;
|
||
|
chathistory-maxmessages = 100;
|
||
|
client-length = 256;
|
||
|
enabled = true;
|
||
|
restrictions = {
|
||
|
expire-time = "1w";
|
||
|
grace-period = "1h";
|
||
|
query-cutoff = "none";
|
||
|
};
|
||
|
retention = {
|
||
|
allow-individual-delete = false;
|
||
|
enable-account-indexing = false;
|
||
|
};
|
||
|
tagmsg-storage = {
|
||
|
default = false;
|
||
|
whitelist = [ "+draft/react" "+react" ];
|
||
|
};
|
||
|
znc-maxmessages = 2048;
|
||
|
};
|
||
|
limits = {
|
||
|
awaylen = 390;
|
||
|
channellen = 64;
|
||
|
identlen = 20;
|
||
|
kicklen = 390;
|
||
|
nicklen = 32;
|
||
|
topiclen = 390;
|
||
|
};
|
||
|
network = { name = "balsoftnet"; };
|
||
|
server = {
|
||
|
casemapping = "permissive";
|
||
|
check-ident = false;
|
||
|
enforce-utf = true;
|
||
|
forward-confirm-hostnames = false;
|
||
|
ip-cloaking = { enabled = false; };
|
||
|
ip-limits = {
|
||
|
count = false;
|
||
|
throttle = false;
|
||
|
};
|
||
|
listeners = { ":6667" = { }; };
|
||
|
lookup-hostnames = false;
|
||
|
max-sendq = "1M";
|
||
|
name = "balsoft.ru";
|
||
|
relaymsg = { enabled = false; };
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
services.thelounge = {
|
||
|
enable = true;
|
||
|
extraConfig = {
|
||
|
host = "localhost";
|
||
|
reverseProxy = true;
|
||
|
lockNetwork = true;
|
||
|
defaults = {
|
||
|
host = "localhost";
|
||
|
name = "balsoftnet";
|
||
|
port = 6667;
|
||
|
tls = false;
|
||
|
nick = "user%%%";
|
||
|
leaveMessage = "<3";
|
||
|
join = "#klananas";
|
||
|
};
|
||
|
};
|
||
|
port = 9857;
|
||
|
public = true;
|
||
|
};
|
||
|
services.nginx.virtualHosts."chat.balsoft.ru" = {
|
||
|
forceSSL = true;
|
||
|
enableACME = true;
|
||
|
locations."/".proxyPass = "http://localhost:9857";
|
||
|
basicAuthFile = "/var/lib/chat.passwd";
|
||
|
};
|
||
|
}
|