From 769f20e20ae047a69e084c105e57d66ba87d0da9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Wed, 7 Jul 2021 18:49:44 +0200 Subject: [PATCH 1/4] nixos/matomo: allow changing hostname easily --- nixos/modules/services/web-apps/matomo.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/web-apps/matomo.nix b/nixos/modules/services/web-apps/matomo.nix index b0d281cfb6ed..4dd599451eda 100644 --- a/nixos/modules/services/web-apps/matomo.nix +++ b/nixos/modules/services/web-apps/matomo.nix @@ -24,6 +24,7 @@ in { (mkRemovedOptionModule [ "services" "piwik" "phpfpmProcessManagerConfig" ] "Use services.phpfpm.pools..settings") (mkRemovedOptionModule [ "services" "matomo" "phpfpmProcessManagerConfig" ] "Use services.phpfpm.pools..settings") (mkRenamedOptionModule [ "services" "piwik" "nginx" ] [ "services" "matomo" "nginx" ]) + (mkRenamedOptionModule [ "services" "matomo" "periodicArchiveProcessingUrl" ] [ "services" "matomo" "hostname" ]) ]; options = { @@ -77,7 +78,7 @@ in { ''; }; - periodicArchiveProcessingUrl = mkOption { + hostname = mkOption { type = types.str; default = "${user}.${fqdn}"; example = "matomo.yourdomain.org"; @@ -202,7 +203,7 @@ in { UMask = "0007"; CPUSchedulingPolicy = "idle"; IOSchedulingClass = "idle"; - ExecStart = "${cfg.package}/bin/matomo-console core:archive --url=https://${cfg.periodicArchiveProcessingUrl}"; + ExecStart = "${cfg.package}/bin/matomo-console core:archive --url=https://${cfg.hostname}"; }; }; @@ -258,7 +259,7 @@ in { # References: # https://fralef.me/piwik-hardening-with-nginx-and-php-fpm.html # https://github.com/perusio/piwik-nginx - "${user}.${fqdn}" = mkMerge [ cfg.nginx { + "${cfg.hostname}" = mkMerge [ cfg.nginx { # don't allow to override the root easily, as it will almost certainly break Matomo. # disadvantage: not shown as default in docs. root = mkForce "${cfg.package}/share"; From 11f1d8620ab38c12b9c120615810592c7a1f7284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Tue, 12 Oct 2021 18:30:09 +0200 Subject: [PATCH 2/4] nixos/matomo: delete tmp folder to fix borked upgrades --- nixos/modules/services/web-apps/matomo.nix | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/nixos/modules/services/web-apps/matomo.nix b/nixos/modules/services/web-apps/matomo.nix index 4dd599451eda..eba55e7e9bef 100644 --- a/nixos/modules/services/web-apps/matomo.nix +++ b/nixos/modules/services/web-apps/matomo.nix @@ -171,6 +171,19 @@ in { fi chown -R ${user}:${user} ${dataDir} chmod -R ug+rwX,o-rwx ${dataDir} + + if [ -e ${dataDir}/current-package ]; then + CURRENT_PACKAGE=$(readlink ${dataDir}/current-package) + NEW_PACKAGE=${cfg.package} + if [ "$CURRENT_PACKAGE" != "$NEW_PACKAGE" ]; then + # keeping tmp arround between upgrades seems to bork stuff, so delete it + rm -rf ${dataDir}/tmp + fi + elif [ -e ${dataDir}/tmp ]; then + # upgrade from 4.4.1 + rm -rf ${dataDir}/tmp + fi + ln -sfT ${cfg.package} ${dataDir}/current-package ''; script = '' # Use User-Private Group scheme to protect Matomo data, but allow administration / backup via 'matomo' group From 69a54df996d11498a86458780ca08917ab112d9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Mon, 25 Oct 2021 02:17:02 +0200 Subject: [PATCH 3/4] matomo: add vendor/matomo/matomo-php-tracker/run_tests.sh to filesToFIx also add log message about missing files --- pkgs/servers/web-apps/matomo/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix index 673b5bbc3b2d..c0d5b27e0e2c 100644 --- a/pkgs/servers/web-apps/matomo/default.nix +++ b/pkgs/servers/web-apps/matomo/default.nix @@ -77,7 +77,7 @@ let "vendor/leafo/lessphp/package.sh" "vendor/pear/archive_tar/sync-php4" "vendor/szymach/c-pchart/coverage.sh" - # drupal_test.sh does not exist in 3.12.0-b3; added for 3.13.0 + "vendor/matomo/matomo-php-tracker/run_tests.sh" "vendor/twig/twig/drupal_test.sh" ]; @@ -92,6 +92,8 @@ let length="$(wc -c "$f" | cut -d' ' -f1)" hash="$(md5sum "$f" | cut -d' ' -f1)" sed -i "s:\\(\"$f\"[^(]*(\\).*:\\1\"$length\", \"$hash\"),:g" config/manifest.inc.php + else + echo "INFO(files-to-fix): $f does not exist in this version" fi done popd > /dev/null From 951e9002edd8bc53018fa46d52ddfca9e3a8f7f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maciej=20Kr=C3=BCger?= Date: Mon, 25 Oct 2021 02:42:03 +0200 Subject: [PATCH 4/4] matomo: 4.4.1 -> 4.5.0 --- pkgs/servers/web-apps/matomo/default.nix | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix index c0d5b27e0e2c..ad8dc85f70fa 100644 --- a/pkgs/servers/web-apps/matomo/default.nix +++ b/pkgs/servers/web-apps/matomo/default.nix @@ -3,16 +3,16 @@ let versions = { matomo = { - version = "4.4.1"; - sha256 = "0y8ljdj97znvd3hkkr7s6s9k8m93agw3z9cfw1azzaxgc46akfcl"; + version = "4.5.0"; + sha256 = "sha256-OyjdzY+ENYxOTVjDLjj2unJbpaGODIH2I5Acmt45HDA="; }; matomo-beta = { - version = "4.4.1"; + version = "4.6.0"; # `beta` examples: "b1", "rc1", null - # TOOD when updating: use null if stable version is >= latest beta or release candidate - beta = null; - sha256 = "0y8ljdj97znvd3hkkr7s6s9k8m93agw3z9cfw1azzaxgc46akfcl"; + # when updating: use null if stable version is >= latest beta or release candidate + beta = "b2"; + sha256 = "sha256-7p/ZPtr5a/tBjrM27ILF3rNfxDIWuzWKCXNom3HlyL8="; }; }; common = pname: { version, sha256, beta ? null }: @@ -74,7 +74,6 @@ let "misc/composer/clean-xhprof.sh" "misc/cron/archive.sh" "plugins/Installation/FormDatabaseSetup.php" - "vendor/leafo/lessphp/package.sh" "vendor/pear/archive_tar/sync-php4" "vendor/szymach/c-pchart/coverage.sh" "vendor/matomo/matomo-php-tracker/run_tests.sh"