Matomo: Difference between revisions
Appearance
link to manual and changed categories |
Update from matomo2nix to matomo4nix |
||
Line 5: | Line 5: | ||
== Plugins == | == Plugins == | ||
To use plugins one can use [https://git.helsinki.tools/helsinki-systems/ | To use plugins one can use [https://git.helsinki.tools/helsinki-systems/matomo4nix matomo4nix]. | ||
< | <syntaxhighlight lang="nix" line="1">{ pkgs, lib, ...}: | ||
matomoPackages = (callPackage (builtins.fetchGit { | let | ||
matomoPackages = (pkgs.callPackage (builtins.fetchGit { | |||
}) {}) // { | url = "https://git.helsinki.tools/helsinki-systems/matomo4nix"; | ||
ref = "master"; | |||
}) {}) // { | |||
withPlugins = matomoPkg: pluginPkgs: pkgs.runCommand "matomo-with-plugins" {} '' | |||
cp -a ${matomoPkg}/. $out | |||
find $out -type d -exec chmod 755 {} + | |||
for i in ${lib.concatStringsSep " " pluginPkgs}; do | |||
cp -a $i/. $out | |||
}; | done | ||
</ | ''; | ||
}; | |||
in { | |||
services.matomo = { | |||
enable = true; | |||
hostname = "TODO; | |||
package = matomoPackages.withPlugins pkgs.matomo ( | |||
with matomoPackages.plugins; | |||
[ | |||
RebelOIDC | |||
] | |||
); | |||
}; | |||
}</syntaxhighlight> | |||
[[Category:Web Applications]] | [[Category:Web Applications]] | ||
[[Category:Server]] | [[Category:Server]] | ||
[[Category:NixOS Manual]] | [[Category:NixOS Manual]] |
Revision as of 19:11, 19 August 2025
Matomo (source code) is a real-time web analytics platform.
This article extends the documentation in the NixOS manual.
Plugins
To use plugins one can use matomo4nix.
{ pkgs, lib, ...}:
let
matomoPackages = (pkgs.callPackage (builtins.fetchGit {
url = "https://git.helsinki.tools/helsinki-systems/matomo4nix";
ref = "master";
}) {}) // {
withPlugins = matomoPkg: pluginPkgs: pkgs.runCommand "matomo-with-plugins" {} ''
cp -a ${matomoPkg}/. $out
find $out -type d -exec chmod 755 {} +
for i in ${lib.concatStringsSep " " pluginPkgs}; do
cp -a $i/. $out
done
'';
};
in {
services.matomo = {
enable = true;
hostname = "TODO;
package = matomoPackages.withPlugins pkgs.matomo (
with matomoPackages.plugins;
[
RebelOIDC
]
);
};
}