Matomo: Difference between revisions
Appearance
imported>Mic92 Created page with "= Matomo = [https://matomo.org Matomo] is a real-time web analytics platform. == Plugins == To use plugins one can use [https://git.helsinki.tools/helsinki-systems/matomo2n..." |
mNo edit summary |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
[https://matomo.org Matomo] ([https://github.com/matomo-org source code]) is a real-time web analytics platform. | |||
[https:// | This article extends the documentation in the [https://nixos.org/manual/nixos/stable/#module-services-matomo NixOS manual]. | ||
== 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, ...}: | |||
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:Server]] | |||
[[Category:NixOS Manual]] |
Latest 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
]
);
};
}