Stop! Can I have your attention for a moment?

Do you want to change your life? Join me on my 50-Day Life Transformation Challenge. Get involved! It won't cost you anything except a few bad habits.

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

 

Comments

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.