nixos/matomo: fix service failure when not fully set up (#373894)
This commit is contained in:
@@ -183,7 +183,10 @@ in {
|
||||
chmod -R u+rwX,g+rwX,o-rwx "${dataDir}"
|
||||
|
||||
# check whether user setup has already been done
|
||||
if test -f "${dataDir}/config/config.ini.php"; then
|
||||
if test -f "${dataDir}/config/config.ini.php" &&
|
||||
# since matomo-5.2.0, the config.ini.php is already created at first
|
||||
# installer page access https://github.com/matomo-org/matomo/issues/22932
|
||||
grep -q -F "[database]" "${dataDir}/config/config.ini.php"; then
|
||||
# then execute possibly pending database upgrade
|
||||
matomo-console core:update --yes
|
||||
fi
|
||||
|
||||
@@ -37,11 +37,25 @@ let
|
||||
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 '<title>Matomo[^<]*Installation'"
|
||||
)
|
||||
|
||||
with subtest("killing the phpfpm process should trigger an automatic restart"):
|
||||
machine.succeed("systemctl kill -s KILL phpfpm-matomo")
|
||||
machine.sleep(1)
|
||||
machine.wait_for_unit("phpfpm-matomo.service")
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
||||
Reference in New Issue
Block a user