Umami Analytics

Umami Analytics

Umami Analytics

Google Analytics fällt wegen DSGVO aus und war mir auch viel zu mächtig. Matomo ist irgendwie auch 2 much für meine Bedürfnisse. Was simples soll es sein. Und schön fluffig auf dem „eigenen“ Server laufen soll es auch noch. Also: Umami Analytics!

»Umami is an open source, privacy-focused alternative to Google Analytics«

… und …

»Umami lets you to gather the data you need while respecting the privacy of your users. Umami does not collect any personal information, does not use cookies, does not track users across websites, and is GDPR compliant.«

… und dann noch das …

»Best of all, you don’t need to display an annoying cookie notice.«

Hamma! Docker Compose und up äääh ab dafür!

Umami Analytics Docker Compose

docker-compos.yml

version: '3'
services:
  umami:
    image: ghcr.io/umami-software/umami:postgresql-latest
    ports:
      - "3030:3000"
    environment:
      DATABASE_URL: postgresql://umami:umami@db:5432/umami
      DATABASE_TYPE: postgresql
      APP_SECRET: xxxx-xxxx-xxxx-xxxx-xxxx
    depends_on:
      - db
    restart: always
  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: umami
      POSTGRES_USER: umami
      POSTGRES_PASSWORD: umami
    volumes:
      - ./sql/schema.postgresql.sql:/docker-entrypoint-initdb.d/schema.postgresql.sql:ro
      - umami-db-data:/var/lib/postgresql/data
    restart: always
volumes:
  umami-db-data:

Basics Umami Analytics

Umami Analytics ist ein datenschutzfreundliches Analyse-Tool, das Website-Betreibern hilft, Einblicke in das Nutzerverhalten zu gewinnen, ohne persönliche Daten zu sammeln. Es ist quelloffen, leichtgewichtig und bietet eine Alternative zu herkömmlichen Tools wie Google Analytics, indem es vollständig DSGVO-konform ist. Umami verzichtet auf den Einsatz von Cookies und erfordert keine Zustimmung der Nutzer, was es besonders attraktiv für datenschutzbewusste Unternehmen macht. Mit klaren Dashboards und wesentlichen Metriken ermöglicht es eine einfache und effiziente Analyse der Website-Performance.

Pi-hole mit Unbound (Docker Compose)

Pi-hole mit Unbound

Pi-hole mit Unbound (Docker Compose)

Nachdem ich hier schon mal kurz die Docker-Fummelei für Adguard Home und Unbound skizziert hatte, habe ich mich jetzt an das Docker-Projekt Pi-hole mit Unbound gewagt. Sicher, es gibt schon die Ein-Container-Lösung von Chris Crowe. Aber ich finde die Zwei-Container-Variante mit dem Original Pihole etwas eleganter und leichter zu pflegen. Here we go … (docker-compose.yml)

docker-compose.yml

version: "3"

volumes:
  pihole_etc:
  pihole_dnsmasq:

services:
  pihole: 
    depends_on:
    - unbound
    image: pihole/pihole:latest
    container_name: pihole
    hostname: pihole
    domainname: pihole.domain
    ports:
      - 53:53/tcp
      - 53:53/udp
      - 1010:80/tcp
    environment:
      ServerIP: 192.168.xxx.xxx
      TZ: Europe/Berlin
      WEBPASSWORD: password
      REV_SERVER: "true"
      REV_SERVER_TARGET: 192.168.xxx.1
      REV_SERVER_DOMAIN: fritz.box
      REV_SERVER_CIDR: 192.168.xxx.0/16
      DNS1: 172.25.0.53
      DNS2: 172.25.0.53
      DNSSEC: "true"
      DNSMASQ_LISTENING: "all"
    volumes:
      - pihole_etc:/etc/pihole:rw
      - pihole_dnsmasq:/etc/dnsmasq.d:rw
    restart: unless-stopped
    
  unbound:
    container_name: unbound
    restart: unless-stopped
    image: klutchell/unbound
    networks:
      default:
        ipv4_address: 172.25.0.53

networks:
  default:
       ipam:
         config:
           - subnet: 172.25.0.1/24 

Basics: Pi-hole

Pi-hole ist eine Open-Source-Software, die als DNS sinkhole fungiert und entwickelt wurde, um lästige Werbung und Tracking-Domains auf Netzwerkebene zu blockieren. Durch die Verwendung von Blacklists filtert Pi-hole DNS-Anfragen und verhindert so das Laden von Werbung und anderen unerwünschten Inhalten auf allen Geräten im Netzwerk. Diese effektive Lösung verbessert nicht nur die Benutzererfahrung, indem sie lästige Werbung eliminiert, sondern trägt auch zur Sicherheit und Privatsphäre im Netzwerk bei, indem potenziell schädliche Inhalte blockiert werden.

Glances (Monitoring)

Glances (Monitoring)

Glances (Monitoring)

Eigentlich möchte ich doch nur wissen, ob meine Raspberry Pis online sind, nicht anfangen zu kochen und ob ein bisschen anderes Gedöns (RAM, SSD usw.) einigermassen rund läuft. Bisher hatte ich Netdata (Docker) installiert. Aber irgendwie dünkt mir, dass sich eben dieses Netdata überwiegend selbst überwacht und dabei unheimlich speicherhungrig unterwegs ist. Also muss eine Alternative her, die ich mit Glances gefunden habe. Nicht so fancy im Anblick, aber sehr schlank, im Web erreichbar und mit (für mich) ausreichenden Informationen an Bord.

»Glances is a cross-platform monitoring tool which aims to present a large amount of monitoring information through a curses or Web based interface. The information dynamically adapts depending on the size of the user interface.«

Easypeasy Installation mit Docker-Compose ist natürlich auch verfügbar. Hamma!

AdGuard Home mit Unbound

AdGuard Home mit Unbound

AdGuard Home mit Unbound

Über AdGuard Home hab ich hier schon kurz berichtet. Jetzt habe ich das Ding noch ein bisschen aufgebohrt und Unbound als  zuständigen Upstream-DNS-Server installiert.

Ziemliche Docker-Fummelei. Das (für mich) funktionierende Ergebnis habe ich mal in eine hübsche docker-compose.yml gepackt:


Dann nur noch die (beispielhafte) 172.20.0.53 als Upstream-DNS-Server bei AdGuard eintragen und fertig ist die private DNS-Butze. Läuft hier übrigens auf einem Raspberry Pi 4b (Debian 11 / bullseye / aarch64).

Die Ports, Volumes und IP-Adressen könnt ihr natürlich nach Euren Bedürfnissen anpassen. Ich lass das jetzt (erst) mal  so …

docker-compose.yml

version: "3"

volumes:
  work:
  conf:

services:
  adguardhome:
    depends_on:
    - unbound
    image: adguard/adguardhome
    container_name: adguardhome
    ports:
      - 53:53/tcp
      - 53:53/udp
      - 784:784/udp
      - 853:853/tcp
      - 3333:3000/tcp
      - 1010:80/tcp
      - 4443:443/tcp
    volumes:
      - ./work:/opt/adguardhome/work
      - ./conf:/opt/adguardhome/conf
    restart: unless-stopped

  unbound:
    container_name: unbound
    restart: unless-stopped
    image: klutchell/unbound
    networks:
      default:
        ipv4_address: 172.20.0.53


networks:
  default:
       ipam:
         config:
           - subnet: 172.20.0.1/24

Basics: AdGuard Home

AdGuard Home ist eine DNS-Filter- und Werbeblockierungssoftware, die auf einem lokalen Server (z.B. Raspberry Pi) läuft. Es blockiert Anzeigen, Tracker und schädliche Websites, bevor sie auf Ihre Geräte gelangen, und bietet so einen verbesserten Datenschutz und eine schnellere Internetnutzung.

Basics: Unbound

Unbound ist ein Open-Source-DNS-Resolver, der oft als Alternative zu standardmäßigen DNS-Resolvern wie BIND verwendet wird. Es ist darauf spezialisiert, DNS-Anfragen schnell und sicher aufzulösen, indem es die DNS-Anfragen von Benutzern an externe DNS-Server weiterleitet und dabei Sicherheitsfunktionen wie DNSSEC unterstützt.