Wie man Matomo einfach mit Docker hostet

Wie man Matomo einfach mit Docker hostet
Bildrechte: Marco Griep (CC BY-NC-ND) - Geschrieben von: Marco Griep

Google Analytics ist der Defacto-Standard für Website-Betreiber im Bereich der Analyse des Website-Verkehrs. Nicht jeder möchte seine Website-Daten direkt an Google senden, und nicht jeder möchte von einem Unternehmen abhängig sein. In diesem Artikel beschreibe ich wie Sie Matomo Self-Hosting effizient realisieren. Mit Docker (Docker-Compose) lässt sich sehr einfach eine Matomo installation realisieren.

Die Google Analytics-Alternative: Matomo

Viele wissen nicht einmal, dass es Alternativen zu Google Analytics gibt. Eine Google Analytics-Alternative, um sich selbst zu installieren, ist Matomo, der ehemalige Piwik. Matomo ist eine Open Source-Lösung und meiner Meinung nach in einigen Punkten sogar besser als Google Analytics. Dieser Artikel beschreibt, wie Sie Matomo schnell und einfach mit Docker installieren können.

Matomo kurz vorgestellt

Matomo ist äußerst umfangreich und bietet wie Google Analytics auch Analysen und Berichte zu Top-Keywords und Suchmaschinen, Websites, Social-Media-Websites, Top-Seiten-URLs, Seitentiteln, Benutzerländern, Anbietern, Betriebssystemen, Browsermarktverteilung, Bildschirmauflösung, Desktop VS-Mobile, Engagement (Zeit vor Ort, Seiten pro Besuch, wiederholte Besuche), Top-Kampagnen, benutzerdefinierte Variablen, Top-Ein- / Ausstiegsseiten, heruntergeladene Dateien und vieles mehr.

Was ich persönlich an Matomo mag, ist, dass es viele Funktionen und Werkzeuge für GDPR bietet. Es gibt ein Opt-out-Formular, das als IFrame direkt in die Datenschutzeinstellungen integriert werden kann, um die Nachverfolgung zu deaktivieren. Matomo ist auch wirtschaftlich, wenn es darum geht, Cookies zu erstellen. Da Sie die volle Kontrolle über das System haben, können Sie genau bestimmen, welche Daten analysiert werden, und diese in Ihren Datenschutzbestimmungen behandeln. Wie lange etwas gespeichert ist, liegt bei Ihnen und Sie können das System einfach bereinigen. Die Daten befinden sich auch auf Ihrem Server, nicht irgendwo in den USA oder anderen europäischen Ländern.

Anforderungen für die Docker-Installation

Matomo kann problemlos ohne Docker installiert werden, ist jedoch mit Docker viel einfacher und schneller. Wenn Sie sich gegen Matomo entscheiden, haben Sie Ihr System schneller und sauberer von Matomo befreit, als wenn Sie die Software manuell auf Ihrem Server installiert hätten.

Für lokale Tests benötigen Sie:

  • Docker
  • Docker compose
  • A Linux system oder mindestens Windows 10 Pro

Für eine produktive Nutzung benötigen Sie:

  • Docker
  • Docker compose
  • A Linux system (VPS) oder Windows server
  • Eine (Sub-) Domain, damit Ihre Website Daten an Matomo senden kann
  • Eine Website die Sie mit Matomo verbinden können

Wie könnte das Hosting aussehen?

Das Hosting funktioniert letztendlich sehr einfach. Sie benötigen eine Internetadresse, an die Ihre Website Besucherinformationen senden kann. Dies funktioniert wie bei Google Analytics über eingebettetes JavaScript und / oder ein Bild, sofern JavaScript blockiert ist. Ich finde es am praktischsten, wenn Sie mit Ihrem Provider eine Subdomain erstellen, z. analyse.meineDomain.de. Ihre Matomo-Installation läuft auf analyse.meineDomain.de und Ihre Website könnte über www.meineDomain.de bereitgestellt werden. Natürlich können Sie wie bei Google Analytics mehrere Websites mit einer Matomo-Installation verbinden. Für mich haben Sie die Installation wie folgt durchgeführt: Bei Contabo habe ich einen Reverse-Proxy (Nginx) installiert, auf dem meine Subdomain und meine Top-Level-Domain angezeigt werden. Abhängig von der Domain / Subdomain wird der Datenverkehr zu Hause an meinen Docker-Server weitergeleitet. Meine Websites und mein Matomo laufen darauf.

Download von GitHub

Ich habe eine Docker-Compose-Datei erstellt, damit Sie Matomo installieren können. Laden Sie das vollständige Verzeichnis herunter und passen Sie die Benutzernamen und Passwörter in der Datei db.env an Ihre Ideen an. Passen Sie gegebenenfalls den Port in der Docker-Compose-Datei an. Dies ist standardmäßig auf 8090 eingestellt. Führen Sie dann die Docker-Compose-Datei mit Administratorrechten (Root-Rechten) aus. Unter Linux funktioniert dies wie folgt:

sudo docker-compose up

Sie können dann mit “Hostname: 8090” auf Matomo zugreifen, die Datenbankverbindung herstellen und einen Administrator erstellen.

Die Docker Compose Datei

Die Docker Compose-Datei beschreibt, welche Dienste (Container) aufgerufen werden sollen. Bei Matomo ist dies eine MariaDB-Datenbank (alternativ MySQL) und Matomo selbst. Damit die Daten aus der MariaDB-Datenbank und Matomo persistent sind, werden zwei benannte Volumes erstellt, in denen die Daten gespeichert werden. Sie sollten diese Volumes mit RSync oder einer Methode Ihrer Wahl sichern.

version: "3"

services:
  db:
    image: mariadb
    command: --max-allowed-packet=64MB
    restart: always
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=matomo
    env_file:
      - ./db.env

  app:
    image: matomo
    restart: always
    volumes:
      - ./config:/var/www/html/config
      - ./logs:/var/www/html/logs
      - matomo:/var/www/html
    environment:
      - MATOMO_DATABASE_HOST=db
      - VIRTUAL_HOST=
    env_file:
      - ./db.env
    ports:
      - 8090:80

volumes:
  db:
  matomo:

Die db.env Datei

Die Datei db.env beschreibt, wie die Datenbank für Matomo installiert werden soll. Ändern Sie das Passwort bevor Sie Matomo im Live Betrieb verwenden.

MYSQL_PASSWORD=matomo
MYSQL_DATABASE=matomo
MYSQL_USER=matomo
MATOMO_DATABASE_ADAPTER=mysql
MATOMO_DATABASE_TABLES_PREFIX=matomo_
MATOMO_DATABASE_USERNAME=matomo
MATOMO_DATABASE_PASSWORD=matomo
MATOMO_DATABASE_DBNAME=matomo