{ lib, ... }: { name = "matomo"; nodes.machine = { config, pkgs, ... }: { services.matomo = { enable = true; nginx = { forceSSL = false; enableACME = false; }; }; services.mysql = { enable = true; package = pkgs.mariadb; }; services.nginx.enable = true; }; testScript = '' start_all() machine.wait_for_unit("mysql.service") machine.wait_for_unit("phpfpm-matomo.service") machine.wait_for_unit("nginx.service") with subtest("matomo.js reachable via HTTP"): machine.succeed("curl -sSfk http://machine/matomo.js") with subtest("js/piwik.js reachable via HTTP"): machine.succeed("curl -sSfk http://machine/js/piwik.js") with subtest("matomo.php (API) reachable via HTTP"): machine.succeed("curl -sSfk http://machine/matomo.php") # without the grep the command does not produce valid utf-8 for some reason with subtest("welcome screen loads"): machine.succeed( "curl -sSfL http://localhost/ | grep '