Plausible Analytics – die Community Edition realisiert mit Docker

Übersicht

Plausible Analytics ist ein datenschutzfreundliches Webanalyse-Tool, das Webseitenbetreibern Einblicke in die Performance ihrer Seite bietet. Es verzichtet auf Cookies und entspricht den Datenschutzbestimmungen, um die Privatsphäre der Nutzer zu schützen. Das Tool liefert übersichtliche Statistiken, darunter Informationen zur Herkunft der Besucher und zu den Interaktionen auf der Webseite. Plausible Analytics ist eine einfache und transparente Alternative zu herkömmlichen Webanalysetools, wie Google Analytics oder Adobe Analytics. Plausible Analytics ist, wie auch Matomo, ein Open-Source-Tool und somit nicht an Lizenzkosten gebunden.

CPU: Zwei CPU´s – entweder amd x86_64 oder arm64

Plausible Anforderungen

RAM: Mindestens 4GB

OS: Ubuntu 22.04

Zusätzliche Software: Docker & openssh-server & Caddy

Zwingende Vorraussetzung!: Zugriff auf die DNS-Verwaltung (externe, am besten statische IP notwendig) und den Webserver

Plausible Installation & Konfiguration

Ubuntu 22.04:

Die Grundinstallation der Ubuntu-VM wird vorrausgesetzt. Diese wird als Docker-Host benötigt und erfordert ausschließlich die zusätzliche Installation eines openssh-servers. Dieser sollte bei der Installation von Ubuntu als zusätzliche Sofware ausgewählt werden.

Sobald die VM erstellt ist und die DNS-Einträge (A-Record und Reverse) gesetzt sind, verbinden wir uns via SSH auf den Server:

ssh plausible.admin-boy.de

Wir installieren Updates für die Paketverwaltung, einige Pakete die zur Fehleranalyse dienen und starten den Server neu:

apt update && apt upgrade -y && apt install htop net-tools && init 6

Docker Installation:

Bevor wir Docker installieren, erstellen wir einen zweiten User:

adduser [USER_NAME]

Der neue User bekommt sudo-Rechte:

visudo

Folgenden Eintrag suchen, kopieren und den gerade erstellten User davor eintragen:

visudo

Datei speichern und schließen, dann ins Homeverzeichniss des neuen Users wechseln:

cd && curl -fsSL https://get.docker.com -o get-docker.sh && chmod 744 get-docker.sh

sudo sh get-docker.sh

Die Gruppe Docker erstellen und den neuen User zur Gruppe Docker hinzufügen:

sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Funktionstest:

docker ps

Ausgabe:

CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

Plausible Konfiguration:

Zunächst clonen wir das Plausible Repository von GitHub:

 git clone https://github.com/plausible/community-edition hosting && cd hosting

Nun erstellen wir einen geheimen Schlüssel und einen TOTP Schlüssel:

openssl rand -base64 48
openssl rand -base64 32

Die Ausgabe der zwei Befehle sichern und in die Datei „plausible-conf.env“ eintragen:

vim plausible-conf.env

Generierte Werte eintragen!

  • BASE_URL=[FQDN = in meinem Fall = https://plausible.admin-boy.de]
  • SECRET_KEY_BASE=[Ausgabe von: openssl rand -base64 48]
  • TOTP_VAULT_KEY=[Ausgabe von: openssl rand -base64 32]

Caddy Konfiguration:

Um eine verschlüsselte HTTPS-Verbindung nutzen zu können, installieren wir einen Caddy Proxy-Server:

vim reverse-proxy/docker-compose.caddy-gen.yml

Die Werte eintragen!

  • virtual.host: „[FQDN]“
  • virtual.tls-email: „deine.mail@anbieter.tld“

Nun starten wir die Container:

docker compose -f docker-compose.yml -f reverse-proxy/docker-compose.caddy-gen.yml up -d

Wir geben im Browser den FQDN ein [z.B.: https://plausible.admin-boy.de] und müssen uns zunächst registrieren:

plausible registrierung

Als nächstes geben wir die Webseite an, die wir auswerten möchten:

plausible domain

Das generierte Snippet kopieren und im Header der zu überwachenden Webseite eintragen. Um die Ladezeit der Seite niedriger zu halten, kann das Snippet auch in den Footer eingetragen werden.

plausible snippet

Nachdem die Konfiguration erledigt ist, deaktivieren wir die Möglichkeit sich zu registrieren. Dazu wechseln wir zurück zu unserer SSH-Verbindung:

cd $HOME/hosting && vim plausible-conf.env

Am Ende der Datei folgendes eintragen:

DISABLE_REGISTRATION=true

Die Container entfernen und im Anschluss neu starten:

docker compose down --remove-orphans
docker compose -f docker-compose.yml -f reverse-proxy/docker-compose.caddy-gen.yml up -d

Nach dem Neustart der Container, kann durch Eingabe des FQDN im Browser die Auswertung der Seite betrachtet werden.

Wenn wir auch Sie beim Aufbau eines eigenen Plausible Servers oder dem Managed Hosting eines Plausible Serves unterstützen können, dann nehmen Sie gerne Kontakt auf.