Plausible auf Digitalocean Droplet installieren

Screenshot Plausible Analytics

Plausible ist eine minimalistische und DSGVO-konforme Alternative zu Google Analytics. Es kommt vollkommen ohne Cookies aus und ist zudem Open Source. Ziemlich viele gute Argumente. Es wird sowieso höchste Zeit Google Analytics den Rücken zu kehren, also schaue ich mir Plausible mal genauer an.

Das Ziel: Plausible eine Chance geben und einen eigenen Plausible-Server auf einem DigitalOcean-Droplet installieren um diese Webseite zu tracken.

Übersicht:

  1. Docker & Docker-Compose installieren

  2. Plausible Git Repository klonen
  3. Plausible konfigurieren
  4. Server starten
  5. NGINX Reverse Proxy einrichten
  6. SSL Zertifikat erstellen

Voraussetzungen

Du brauchst nichts weiter als ein frisch gestartetes DigitalOcean-Droplet (natürlich kannst du auch jeden anderen Anbieter verwenden. Diese Anleitung sollte überall funktionieren). Ich habe mich für ein kleines Droplet entschieden:Digitalocean Droplet

  • 1 CPU
  • 1 GB RAM
  • 25 GB SSD Disk
  • 1.000 GB Traffic 

Die Performance sollte für eine Seite vollkommen ausreichen.

1. Docker & Docker-Compose installieren

sudo apt update && sudo apt upgrade

Im nächsten Schritt installiere ich Docker und Docker Compose

sudo apt install docker.io docker-compose

2. Plausible Git Repository klonen

Jetzt klone ich das Plausible Hosting Repository. Dies ist weitestgehend vorbereitet und beinhaltet alles was man braucht um einen Plausible Server zu betreiben:

mkdir docker
cd docker
git clone https://github.com/plausible/hosting
mv hosting plausible
cd plausible

3. Plausible konfigurieren

In dem geklonten Repository befindet sich eine plausible-conf.env, die wir noch anpassen müssen:

Plausible configuration file
Plausible Konfigurationsdatei: ja ich weiß, es muss "my-secret-key" heißen ;)

Die Werte hier sind weitestgehend selbst erklärend:

ADMIN_USER_EMAIL: E-Mail Adresse des Administrators
ADMIN_USER_NAME: Benutzername des Administrators
ADMIN_USER_PWD: Passwort des Administrators
BASE_URL: URL über den der Plausible Server später erreichbar ist
SECRET_KEY: Ein zufällig generierter geheimer Schlüssel.

Ein solcher Schlüssel kann zum Beispiel so erstellt werden:

openssl rand -base64 64

Wichtig: Der BASE_URL muss zwingend ein "http://" oder "https://" vorangestellt werden, da ansonsten der Docker-Container während der Installation des Systems abbricht.

4. Server starten

Nachdem ich die Konfigurationsanpassungen vorgenommen habe, kann ich den Plausible Server starten:

docker-compose up --detach

Übrigens: die Option "--detach" oder auch nur "-d" startet den Docker Container im Hintergrund.

Der erstmalige Start des Plausible Servers braucht etwas Zeit. Es wird eine Postgres- und eine ClickHouse-Datenbank für die User- und Tracking-Daten erstellt und ein Migrationsscript richtet die Datenbanktabellen ein.

Am Rande: ClickHouse ist eine Open Source Datenbank, die Spalten-orientiert arbeitet und dadurch gerade für die Auswertung großer Datensätze im Analysebereich eingesetzt wird. Dadurch können Reporte in Echtzeit generiert werden.

5. NGINX Reverse Proxy einrichten

Nun kann ich bereits via http://example.com:8000 auf meinen Plausible Server zugreifen. Da ich ihn aber über Port 80 nach außen öffnen will und auch auf dem Server noch den ein oder anderen Docker-Container nutzen möchte, richte ich mir einen Reverse-Proxy ein. Der Reverse-Proxy routet im Grunde alle Browseranfragen über den Standardport 80 an den lokalen Docker-Container unter Port 8000.

sudo apt install nginx

Ich lege also zunächst eine Konfiguration für den Plausible Reverse Proxy an. Dazu wechseln ich in das NGINX Konfigurationsverzeichnis für die virtuellen Hosts:

cd /etc/nginx/sites-available
nano plausible.con

NGINX Reverse Proxy Konfiguration für Plausible:

server {
  listen 80;
  listen [::]:80;

  server_name plausible.example.com;

  location / {
    proxy_pass  http://localhost:8000;
  }
}

Ersetze plausible.example.com mit der Domain unter der du deinen Plausible-Server später erreichen möchtest. Denke daran in den DNS Einstellungen deiner Domain einen A-Record auf die IP des DigitalOcean-Droplets zu erstellen.

Start NGINX Server

Nach dem speichern der NGINX-Konfiguration muss ich noch einen symbolischen Link zu dieser Datei im Verzeichnis /etc/nginx/sites-enabled erstellen:

ln -s /etc/nginx/sites-available/plausible.conf /etc/nginx/sites-enabled/plausible.conf
sudo service nginx start

 

6. SSL Zertifikat erstellen

sudo apt install certbot
sudo apt install python3-certbot-nginx
sudo certbot --nginx -d plausible.example.com

Fertig! Nun kannst ich den Plausible Server unter https://plausible.example.com erreichen.

 

7. Einloggen und eine Webseite anlegen

Ich kann mich jetzt in meinen Plausible Server mit den Zugangsdaten einloggen, die ich oben in der plausible-conf.env eingetragen habe.

Sofort im nächsten Schritt kann ich eine erste Webseite anlegen, die getrackt werden soll.

Plausible Seite anlegen

 

Kommentare

Lass uns ein paar Gedanken teilen!

Schließe Dich einer wachsenden Gemeinschaft von freundlichen Lesern an. Jeden Sonntag teile ich meine Gedanken über rationales Denken, Produktivität und das Leben.