Matomo: Eine leistungsstarke Alternative zu Google Analytics mit Selbsthosting-Option

Matomo, ehemals bekannt als Piwik, ist eine Open-Source-Webanalytikplattform, die sich als datenschutzfreundliche Alternative zu Google Analytics etabliert hat. Mit Matomo kann man detaillierte Einblicke in das Nutzerverhalten erhalten, ohne dabei die Privatsphäre der Besucher zu gefährden. Ein besonderes Merkmal von Matomo ist die Möglichkeit des Selbsthostings, was bedeutet, dass man die Software auf dem eigenen Server installieren und betreiben kann.

Durch das Selbsthosting von Matomo behält man die volle Kontrolle über die Daten. Im Gegensatz zu cloudbasierten Lösungen wie Google Analytics werden die Daten nicht auf externen Servern gespeichert, sondern verbleiben auf der eigenen Infrastruktur. Dies ist besonders für Organisationen wichtig, die strenge Datenschutzbestimmungen einhalten müssen, wie z. B. Unternehmen in der EU, die der DSGVO unterliegen.

Die Installation von Matomo auf einem eigenen Server ist vergleichsweise einfach. Die Software benötigt eine LAMP- oder LEMP-Umgebung (Linux, Apache/Nginx, MySQL/MariaDB, PHP) und kann über ein Web-Interface eingerichtet werden. Matomo bietet umfangreiche Dokumentation und Support, um den Einrichtungsprozess zu erleichtern.

Matomo bietet eine breite Palette von Funktionen, darunter Echtzeit-Analysen, Conversion-Tracking, Heatmaps und A/B-Tests. Die Benutzeroberfläche ist intuitiv gestaltet, sodass man auch ohne tiefe technische Kenntnisse detaillierte Berichte erstellen und auswerten kann.

Matomo ist eine leistungsstarke und datenschutzkonforme Lösung für Webanalytik, die durch die Option des Selbsthostings zusätzliche Sicherheit und Kontrolle bietet. Wenn man Wert auf Datenschutz und Flexibilität legt, ist Matomo eine hervorragende Wahl. Mit seiner benutzerfreundlichen Oberfläche und umfangreichen Funktionen ist es eine echte Alternative zu etablierten, aber datenschutzrechtlich bedenklichen Tools wie Google Analytics.

Es ist es schwieriger, Matomo zu blockieren, da es auf demselben Server wie die Website laufen kann und somit nicht ohne Weiteres von Adblockern oder Tracking-Schutz-Tools erkannt wird.

CapRover: ARGs und ENV-Variablen in Dockerfiles

CapRover ist eine leistungsfähige und einfach zu bedienende PaaS (Platform as a Service), CapRover ermöglicht es, Anwendungen mit minimalem Aufwand zu deployen. Es setzt auf Docker und bietet eine intuitive Web-Oberfläche zur Verwaltung von Containern.

Ein häufiges Problem bei der Nutzung von Dockerfiles ist der Umgang mit ENV-Variablen, insbesondere wenn bestimmte Werte bereits zur Build-Zeit festgelegt werden sollen. Hier kommen ARG-Variablen ins Spiel, die während des Builds gesetzt und genutzt werden können.

CapRover stellt die in der Web-UI gesetzten Umgebungsvariablen als Build-Argumente (ARG) während des Builds bereit

Beispiel:

# Basis-Image
FROM node:18-alpine

# Definiere ARG-Variable, die beim Build übergeben werden kann
ARG API_URL

# Setze ENV-Variable basierend auf ARG
ENV REACT_APP_API_URL=$API_URL

WORKDIR /app

COPY package.json .
RUN npm install

COPY . .
RUN npm run build

CMD ["npm", "start"]

Durch die Kombination von ARG und ENV-Variablen kann man bereits während des Build-Prozesses Konfigurationen in den Container integrieren. Dies ist besonders nützlich, wenn bestimmte Werte im Build-Schritt benötigt werden, ohne dass sie später in der Laufzeitumgebung gesetzt werden müssen.

LazyDocker - Praktische Docker-Container-Verwaltung für das CLI

LazyDocker stellt Docker-Informationen in einer übersichtlichen und intuitiven Ansicht dar und ermöglicht das verwalten von Containern. Besonders die visuelle Aufbereitung bietet Vorteile gegenüber den standardmäßigen Docker-Tools wie docker ps. Die Software ist Open Source und kostenlos für Windows, Linux und macOS verfügbar.

Die Benutzeroberfläche von LazyDocker ist zweigeteilt: Auf der linken Seite sind der Projektname, Container, vorhandene Images, Volumen und Netzwerke des Systems übersichtlich aufgelistet. Die rechte Seite passt sich der Auswahl an und zeigt Protokolle, Statistiken, Environment-Variablen oder Konfigurationen an. LazyDocker kann sowohl über Tastatur als auch über Maus bedient werden und bietet damit eine flexible Nutzung.

Mit einer Vielzahl nützlicher Werkzeuge unterstützt LazyDocker das Überwachen und Verwalten von Containern. Weitere Informationen und den Download finden man unter: https://github.com/jesseduffield/lazydocker

Calibre-Web - E-Books online verwalten

Calibre-Web ist ein Fork des klassischen Calibre. Das in Calibre bereits integrierte Web-Interface wurde um zusätzliche Funkionen erweitert und mit einer zeitgemäßeren Oberfläche versehen. Die Verwaltung der E-Books erfolgt bei Calibre-Web ausschließlich im Browser. Wer bereits Calibre zur Verwaltung seiner E-Books verwendet kann die gleiche Datenbank weiterverwenden. Calibre-Web kann einfach mit Docker betrieben werden. Über die Web-Oberfläche kann die E-Book-Sammlung komfortable durchsucht und verwaltet werden. Das Editieren der Metadaten ist wie von Calibre gewohnt möglich. Weitere Informationen zu Calibre-Web gibt es auf der GitHub-Projektseite unter github.com/janeczku/calibre-web.

Heimdall - Webapplication Dashboard / Launcher

Heimdall ist nicht nur der Name eines nordischen Gottes, sondern auch ein leistungsstarkes Webapplikations-Dashboard zur Verwaltung und Organisation von Verknüpfungen zu anderen Anwendungen. Es eignet sich hervorragend als zentrale Startseite mit wichtigen Links zu verschiedenen Diensten – besonders dann, wenn diese mit anderen Nutzern geteilt werden sollen, was mit herkömmlichen Browser-Lesezeichen nur umständlich möglich ist.

Die Erstellung neuer Verknüpfungen erfolgt über eine benutzerfreundliche Oberfläche. Heimdall stellt dabei über 200 vordefinierte Anwendungsvorlagen bereit, wodurch passende Icons automatisch vorgeschlagen werden. Für bestimmte Webapplikationen bietet Heimdall zudem erweiterte Funktionen, wie beispielsweise Statistiken oder Statusindikatoren. So können Nutzer etwa die Anzahl blockierter Anzeigen in Pi-hole oder die Anzahl der verfügbaren Filme in Jellyfin direkt im Dashboard einsehen.

Zusätzlich verfügt Heimdall über eine integrierte Benutzerverwaltung, die es ermöglicht, verschiedene Nutzerprofile zu verwalten. Die Anwendung ist in PHP geschrieben und kann mit Apache oder Nginx betrieben werden. Alternativ stehen Docker-Images zur Verfügung, um eine einfache Bereitstellung zu gewährleisten.

Weitere Informationen sowie eine Liste aller Apps gibt es unter: heimdall.site.

Einfaches Webanwendungs-Management mit Caprover

Bei Caprover, das früher unter dem Namen CaptainDuckDuck bekannt war (IMHO war der alte Name um Klassen besser) handelt es sich um eine Web-Oberfläche zum Verwalten von Webanwendungen. Die Anwendungen werden dabei in Docker-Container gestartet. Dem Anwender werden viele Verwaltungsaufgaben abgenommen. Caprover wirbt mit dem Slogan "Build your own PaaS in a few minutes!" und tatsächlich ist es sehr einfach möglich Webanwendungen mit Caprover zu veröffentlichen. Caprover läuft selbst in einem Docker-Container was die Installation einfach macht. Für Digitalocean existiert ein fertiges Droplet wodurch für die Installation nur wenige Klicks benötigt. Die Installation ist aber auch bei anderen Providern nicht schwierig. Die einzige Anforderung ist ein installiertes Docker. Bei den meisten Server-Anbietern kann bereits eine vorgefertigtes Docker-VM-Image gestartet werden. Danach ist die Installation mit einem Befehl erledigt:

docker run -p 80:80 -p 443:443 -p 3000:3000 -v /var/run/docker.sock:/var/run/docker.sock -v /captain:/captain caprover/caprover

Ein einfacher VServer ist vollkommen ausreichend für mehrere Node.js Anwendungen sowie eine Datenbank. Bei einem VServer ist meist der Arbeitsspeicher das begrenzende Element. Das beste an Caprover ist das einfache Deployment von Webanwendungen. Vor dem ersten Deployment muss nur eine Appname über das Webinterface von Caprover gewählt werden. Die App wird dann automatisch unter einer Subdomain mit dem entsprechenden Namen gestartet. Natürlich kann die zu nutzende Domain auch manuell geändert werden. Caprover kümmert sich dabei falls gewünscht auch um das entsprechende SSL-Zertifikat von Let's encrypt. Alle Webanwendungen laufen hinter einem Nginx-Webserver der auch für das HTTPS zuständig ist. Komplexere Konfigurationen können im Webinterface über die Nginx-Config vorgenommen werden.

Webanwendungen die in NodeJS, Python, PHP, ASP.NET oder Ruby geschrieben können ohne Dockerfile über eine captain-definition-Datei deployed werden. Über die captain-definition wird dabei konfiguriert welche Runtime von der Anwendung benötigt wird, falls notwendig kann auch eine Dockerfile verwendet werden.

Von einem Development-Rechner kann über den Konsolenbefehl: caprover deploy

direkt deployed werden, alternativ ist das auch über das Webinterface mittels eines TAR-Archives möglich. Über sogenannte One-Click Apps können gängige Webanwendungen in wenigen Klicks deployed werden.

Hier einige Beispiele:

Datenbanken und Datenbank GUIs

  • MongoDB
  • MongoExpress
  • MsSQL
  • MySQL
  • Redis
  • PhpMyAdmin
  • PostgreSQL
  • Adminer
  • Apache CouchDB
  • Gitea
  • ElasticSearch

Blogging und Content

  • WordPress
  • Ghost
  • Prisma 1
  • Strapi
  • Minio

Dev Tools

  • Jenkins
  • Drone.io
  • Hasura
  • Nexus3

Andere Apps

  • Parse
  • NextCloud
  • Rainloop
  • Thumbor