X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=modules%2Fwebapps%2Fwebstats%2Fdefault.nix;h=7a2774112f545a8f7b4f863c24b7f12dbee849f6;hb=b1b8a5623d22a7ee4301afe4e7b9d368ef7ded8f;hp=3650e1e713c698a59d3349c388f84d5467c48b10;hpb=9129f327844ca58af61a20582b04e35762c63e35;p=perso%2FImmae%2FConfig%2FNix.git diff --git a/modules/webapps/webstats/default.nix b/modules/webapps/webstats/default.nix index 3650e1e..7a27741 100644 --- a/modules/webapps/webstats/default.nix +++ b/modules/webapps/webstats/default.nix @@ -1,4 +1,4 @@ -{ lib, pkgs, config, mylibs, ... }: +{ lib, pkgs, config, ... }: let name = "goaccess"; cfg = config.services.webstats; @@ -23,7 +23,7 @@ in { ''; }; name = lib.mkOption { - type = lib.types.string; + type = lib.types.str; description = '' Domain name. Corresponds to the Apache file name and the folder name in which the state will be saved. @@ -37,6 +37,9 @@ in { }; config = lib.mkIf (builtins.length cfg.sites > 0) { + services.duplyBackup.profiles.goaccess = { + rootDir = cfg.dataDir; + }; users.users.root.packages = [ pkgs.goaccess ]; @@ -54,15 +57,14 @@ in { #!${pkgs.stdenv.shell} set -e shopt -s nullglob - date_regex=$(LC_ALL=C date -d yesterday +'%d\/%b\/%Y') TMPFILE=$(mktemp) trap "rm -f $TMPFILE" EXIT mkdir -p ${cfg.dataDir}/${domain} - cat /var/log/httpd/access-${domain}.log | sed -n "/\\[$date_regex/ p" > $TMPFILE for i in /var/log/httpd/access-${domain}*.gz; do - zcat "$i" | sed -n "/\\[$date_regex/ p" >> $TMPFILE + zcat "$i" >> $TMPFILE done + cat /var/log/httpd/access-${domain}.log > $TMPFILE ${pkgs.goaccess}/bin/goaccess $TMPFILE --no-progress -o ${cfg.dataDir}/${domain}/index.html -p ${config} ''; in "${d}/bin/stats-${domain}";