aboutsummaryrefslogtreecommitdiff
path: root/modules/services
diff options
context:
space:
mode:
Diffstat (limited to 'modules/services')
-rw-r--r--modules/services/nixos/btopweb.nix35
-rw-r--r--modules/services/nixos/goaccess.nix9
-rw-r--r--modules/services/options.nix5
3 files changed, 44 insertions, 5 deletions
diff --git a/modules/services/nixos/btopweb.nix b/modules/services/nixos/btopweb.nix
new file mode 100644
index 0000000..1975c5d
--- /dev/null
+++ b/modules/services/nixos/btopweb.nix
@@ -0,0 +1,35 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.collinux.services.btopweb;
+in {
+ imports = [
+ (import ./mkCaddyCfg.nix cfg)
+ ];
+
+ config = lib.mkIf cfg.enable {
+ users.groups."btopweb" = {};
+ users.users."btopweb" = {
+ isSystemUser = true;
+ group = "btopweb";
+ };
+
+ systemd.services."btopweb" = {
+ description = "Host btop on a website";
+ restartIfChanged = true;
+ wants = ["network-online.target"];
+ after = ["network-online.target"];
+ wantedBy = ["multi-user.target"];
+
+ serviceConfig = {
+ User = "btopweb";
+ Type = "simple";
+
+ ExecStart = "${pkgs.gotty}/bin/gotty --reconnect --port ${toString cfg.port} ${pkgs.btop}/bin/btop";
+ };
+ };
+ };
+}
diff --git a/modules/services/nixos/goaccess.nix b/modules/services/nixos/goaccess.nix
index a71a9c3..f8940c9 100644
--- a/modules/services/nixos/goaccess.nix
+++ b/modules/services/nixos/goaccess.nix
@@ -15,6 +15,8 @@
date-format = "%s";
log-format = "CADDY";
tz = config.time.timeZone;
+ log-file = "/var/log/caddy/access-williamsfam.us.com.log";
+ geoip-database = geoip;
ws-url =
if cfg.publicUrl != null
@@ -22,16 +24,13 @@
else if cfg.privateUrl != null
then "wss://${cfg.privateUrl}:443/ws"
else null;
- port = "7890";
+ port = 7890;
addr = cfg.listenAddr;
real-time-html = "true";
- log-file = "/var/log/caddy/access-williamsfam.us.com.log";
- geoip-database = geoip;
output = "/var/www/goaccess/index.html";
external-assets = "true";
all-static-files = "false";
-
html-report-title = "stats@ganymede";
hl-header = "true";
agent-list = "false";
@@ -45,7 +44,7 @@
real-os = "true";
};
- settingsFile = pkgs.writeText "goaccess.conf" (settings |> builtins.mapAttrs (k: v: "${k} ${v}") |> builtins.attrValues |> lib.concatStringsSep "\n");
+ settingsFile = pkgs.writeText "goaccess.conf" (settings |> builtins.mapAttrs (k: v: "${k} ${toString v}") |> builtins.attrValues |> lib.concatStringsSep "\n");
in {
imports = [
(import ./mkCaddyCfg.nix cfg)
diff --git a/modules/services/options.nix b/modules/services/options.nix
index eb88e21..bd0a990 100644
--- a/modules/services/options.nix
+++ b/modules/services/options.nix
@@ -83,6 +83,11 @@ in {
default_port = 8010;
};
+ btopweb = webserviceOptions {
+ service_name = "btopweb";
+ default_port = 8017;
+ };
+
goaccess = webserviceOptions {
service_name = "goaccess";
reverse_proxy = false;