add thelounge irc client

This commit is contained in:
Noah Masur 2024-02-25 18:50:00 +00:00
parent 3a4568bc69
commit b2cfdc1fdf
6 changed files with 36 additions and 0 deletions

View File

@ -237,6 +237,7 @@
hostnames = { hostnames = {
git = "git.${baseName}"; git = "git.${baseName}";
influxdb = "influxdb.${baseName}"; influxdb = "influxdb.${baseName}";
irc = "irc.${baseName}";
metrics = "metrics.${baseName}"; metrics = "metrics.${baseName}";
prometheus = "prom.${baseName}"; prometheus = "prom.${baseName}";
paperless = "paper.${baseName}"; paperless = "paper.${baseName}";

View File

@ -59,6 +59,7 @@ inputs.nixpkgs.lib.nixosSystem {
giteaRunner.enable = true; giteaRunner.enable = true;
services.caddy.enable = true; services.caddy.enable = true;
services.grafana.enable = true; services.grafana.enable = true;
services.thelounge.enable = true;
services.openssh.enable = true; services.openssh.enable = true;
services.victoriametrics.enable = true; services.victoriametrics.enable = true;
services.influxdb2.enable = true; services.influxdb2.enable = true;

View File

@ -107,6 +107,10 @@
type = lib.types.str; type = lib.types.str;
description = "Hostname for download services."; description = "Hostname for download services.";
}; };
irc = lib.mkOption {
type = lib.types.str;
description = "Hostname for IRC services.";
};
}; };
}; };

View File

@ -11,6 +11,7 @@
./calibre.nix ./calibre.nix
./cloudflare-tunnel.nix ./cloudflare-tunnel.nix
./cloudflare.nix ./cloudflare.nix
./irc.nix
./gitea-runner.nix ./gitea-runner.nix
./gitea.nix ./gitea.nix
./gnupg.nix ./gnupg.nix

View File

@ -50,6 +50,7 @@ in {
dashboards.settings.providers = [{ dashboards.settings.providers = [{
name = "test"; name = "test";
type = "file"; type = "file";
allowUiUpdates = true;
options.path = "${ options.path = "${
(pkgs.writeTextDir "dashboards/dashboard.json" (builtins.toJSON { (pkgs.writeTextDir "dashboards/dashboard.json" (builtins.toJSON {
annotations = { annotations = {

View File

@ -0,0 +1,28 @@
{ config, ... }: {
config = {
services.thelounge = {
public = false;
port = 9000;
extraConfig = {
reverseProxy = true;
maxHistory = 10000;
};
};
# Allow web traffic to Caddy
caddy.routes = [{
match = [{ host = [ config.hostnames.irc ]; }];
handle = [{
handler = "reverse_proxy";
upstreams = [{
dial =
"localhost:${builtins.toString config.services.thelounge.port}";
}];
}];
}];
};
}