git-server: serve stats
1 file changed, 34 insertions(+), 13 deletions(-)
changed files
M system/roles/git-server.nix → system/roles/git-server.nix
@@ -173,19 +173,22 @@ in { extraConfig = '' encode zstd gzip - ${security-headers { - overrides.content-security-policy = { - default-src = [ "none" ]; - base-uri = [ "none" ]; - style-src = [ "self" ]; - script-src = [ "none" ]; - form-action = [ "self" ]; - connect-src = [ "self" ]; - img-src = [ "https:" ]; - object-src = [ "none" ]; - }; - }} - reverse_proxy [${server.host}]:${toString server.port} + handle { + ${security-headers { + overrides.content-security-policy = { + default-src = [ "none" ]; + base-uri = [ "none" ]; + style-src = [ "self" ]; + script-src = [ "none" ]; + form-action = [ "self" ]; + connect-src = [ "self" ]; + img-src = [ "https:" ]; + object-src = [ "none" ]; + }; + }} + reverse_proxy [${server.host}]:${toString server.port} + } + import goaccess "git" ''; }; "git.alanpearce.eu" = {@@ -219,4 +222,22 @@ }; }; networking.firewall.allowedTCPPorts = [ 9418 ]; + + services.goaccess.instances = { + git = { + enable = true; + dates = "hourly"; + settings = { + log-file = "${config.services.caddy.logDir}/access-${serverName}.log"; + output = "/srv/http/access/git/index.html"; + external-assets = true; + log-format = "caddy"; + anonymize-ip = true; + anonymize-level = 2; + persist = true; + restore = true; + keep-last = 90; # days + }; + }; + }; }