Jump to content

Matomo: Difference between revisions

From NixOS Wiki
Lennart (talk | contribs)
Update from matomo2nix to matomo4nix
Lennart (talk | contribs)
mNo edit summary
 
Line 27: Line 27:
   services.matomo = {
   services.matomo = {
     enable = true;
     enable = true;
     hostname = "TODO;
     hostname = "TODO";
     package = matomoPackages.withPlugins pkgs.matomo (
     package = matomoPackages.withPlugins pkgs.matomo (
       with matomoPackages.plugins;
       with matomoPackages.plugins;

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
      ]
    );
  };

}