all repos — nixfiles @ a974a524e2025f50d2f4bf31a0e2e47c2199ed20

System and user configuration, managed by nix and home-manager

linde: generate and serve stats pages for searchix

Alan Pearce
commit

a974a524e2025f50d2f4bf31a0e2e47c2199ed20

parent

61395a7f776142ae35ea53f8d66848b43a28eba9

2 files changed, 43 insertions(+), 0 deletions(-)

changed files
M flake.nix → flake.nix
@@ -137,6 +137,7 @@ agenix.nixosModules.default
elgit.nixosModules.elgit mycal.nixosModules.mycal searchix.nixosModules.web + ./packages/modules/nixos/goaccess.nix ./packages/modules/nixos/laminar.nix ./packages/modules/nixos/git-pr.nix ./system/hosts/linde.nix
M system/hosts/linde.nix → system/hosts/linde.nix
@@ -653,6 +653,10 @@ rewrite * /error.html
templates file_server } + handle_path /stats/* { + root /srv/http/access/searchix + file_server + } handle { reverse_proxy localhost:${toString config.services.searchix.settings.web.port} { health_uri /health
@@ -681,6 +685,10 @@ root ${pkgs.searchix}/lib/searchix
handle_errors { rewrite * /error.html templates + file_server + } + handle_path /stats/* { + root /srv/http/access/searchix-stable file_server } handle {
@@ -806,6 +814,40 @@ };
}; systemd.services.caddy.serviceConfig = { UMask = "007"; + }; + + services.goaccess = { + group = "caddy"; + instances = { + searchix = { + enable = true; + dates = "hourly"; + settings = { + log-file = "${config.services.caddy.logDir}/access-searchix.ovh.log"; + output = "/srv/http/access/searchix/index.html"; + log-format = "caddy"; + anonymize-ip = true; + anonymize-level = 2; + persist = true; + restore = true; + keep-last = 90; # days + }; + }; + stable-searchix = { + enable = true; + dates = "daily"; + settings = { + log-file = "${config.services.caddy.logDir}/access-stable.searchix.ovh.log"; + output = "/srv/http/access/searchix-stable/index.html"; + log-format = "caddy"; + anonymize-ip = true; + anonymize-level = 2; + persist = true; + restore = true; + keep-last = 90; # days + }; + }; + }; }; networking.nat = {