A dashboard with 12 colorful panels displaying different services and statistics, including "Web Page", "Now Page", "Statuslog", "Weblog", "Pastebin", "Charms", "Pics", "PURLs", "Email", "DNS", "Switchboard", "Keys", "Proofs", and "Social". A separate panel on the right says "You're awesome." with a heart icon. Ein Dashboard mit 12 bunten Kacheln, die verschiedene Dienste und Statistiken anzeigen, darunter "Web Page", "Now Page", "Statuslog", "Weblog", "Pastebin", "Charms", "Pics", "PURLs", "Email", "DNS", "Switchboard", "Keys", "Proofs" und "Social". Eine separate Kachel rechts zeigt "You're awesome." mit einem Herzsymbol.

OMG.LOL … Status, Social, Pics und Weblog

Wie vor kurzem nebenbei erwähnt und kurz begründet, habe ich mich (erstmal) für fünf Jahre der von Adam Newbold erschaffenen omg.lol-community angeschlossen. omg.lol bietet Online-Services wie ein eigenes Profil, eine Now-Page, eine Bilder-Seite, einen Mastodon-Account, IRC uvm. … alles schön verspielt und irgendwie knuffig. Ich fühle mich dort und damit echt wohl.

Ich bespiele momentan folgende Playgrounds:

Interface for writing a new weblog post. The interface displays the weblog name, a prompt to write a post, and the post content in Markdown format, including date, tags, and the post title and body.
---
Interface zum Schreiben eines neuen Weblog-Posts. Die Benutzeroberfläche zeigt den Namen des Weblogs, eine Aufforderung zum Schreiben eines Posts und den Post-Inhalt im Markdown-Format an, einschließlich Datum, Tags sowie Titel und Hauptteil des Posts.

Demnächst möchte ich mich etwas mehr mit Inhalten für den Weblog beschäftigen. Wenn ihr das verfolgen wollt, dann könnt ihr euch das direkt bei icke.lol anschauen. Natürlich gibt es dafür auch einen voll knorken RSS-Feed, den Ihr gern abonnieren dürft.

Bis denn dann, und !

A pink heart character with closed eyes, rosy cheeks, and a smiling mouth, with two yellow starbursts above it.

Ein rosa Herz-Charakter mit geschlossenen Augen, rosigen Wangen und einem lächelnden Mund, über dem zwei gelbe Sternchen schweben.

A cartoon-style illustration with a green and white color scheme depicts a stylized person with glasses raising their fist in triumph. Text in bold, green lettering reads "delphi.tools NO LOGIN NO FEE THESE TOOLS STAY FREE". Eine stilisierte Zeichnung in Grün und Weiß zeigt eine Person mit Brille, die triumphierend eine Faust erhebt. Große grüne Buchstaben verkünden "delphi.tools NO LOGIN NO FEE THESE TOOLS STAY FREE".

delphitools

»delphitools is a collection of colour converters, typography calculators, image utilities, QR generators, encoding tools, and other things you shouldn’t need an app for but apparently do, because every time you try to do something simple on the web you end up fighting cookie banners, mandatory sign-ups, and ads for things you’ll never buy.«

Auch als iOS App und für die Kommandozeile verfügbar. Und alles 4 free und ohne Log-in … Hamma!

[delphi.tools] / [apps.apple] / [github] via [iphoneblog]

Navidrome docker-compose.yml

Navidrome – meine MP3-Halde

Bis vor Kurzem hatte ich meine Musikberieselung überwiegend mit der iCloud und der etwas unhandlichen iOS App Foobar2000 realisiert. Dann las ich den voll schnaften Internetz-Beitrag Navidrome – mein eigenes Spotify von Herrn Montag und war quasi instant interessiert.

»Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It’s like your personal Spotify [

Also Vollgas mit Docker Compose:

services:
  navidrome:
    image: deluan/navidrome:latest
    user: 0:0 # should be owner of volumes
    ports:
      - "4533:4533"
    restart: unless-stopped
    environment:
      # Optional: put your config options customization here. Examples:
      # ND_LOGLEVEL: debug
      ND_DEVACTIVITYPANEL: "false" #Problemloeser für Safari MacOS
    volumes:
      - "./data:/data"
      - "./music:/music:ro"

Danach noch eine Domain raufgedengelt, https zertifiziert und fertig war die eigene Streamingbutze. Als Einstieg habe ich ca. 20 Alben raufgeschmissen, die eigentlich sofort einsetzbar waren. Die Web-App sieht richtig nice und aufgeräumt aus. Na dann: .

Navidrome - meine MP3-Halde

Aber die Freude war nur von kurzer Dauer, denn Navidrome stellte nach einigen Songs die Wiedergabe auf Safari (macOS) ein. Eine kurze Internetzrecherche fand den Schuldigen aka OGG und holte drei Vorschläge hervor, de ich alle sofort umsetzte:

  • ND_DEVACTIVITYPANEL: „false“ zur docker-compose.yml (env) hinzufügen
  • alles mit WebM in Safari (Einstellungen –> Feature Flags) abschalten
  • bei Navidrome Transcodierung aktivieren (hier mp3 mit mittlerweile 320er Bitrate)

Navidrome - meine MP3-Halde - Transcoding

Und? Läuft!

Für habe ich mich für die iOS App Arpeggi entschieden, die momentan nur über Testflight erhältlich ist. Auch sehr knorke!

Zur Zeit habe ich 182 Alben mit 2.596 Songs in der Bibliothek und Navidrome läuft voll geschmeidig. Hamma!

Danke Jan und danke IRC!

Thelounge docker compose yml - Configuration file snippet for a Docker Compose service named "thelounge", detailing ports, volumes, restart policy, and image source within a dark and orange gradient background. German Translation: Konfigurationsdateiausschnitt für einen Docker Compose-Dienst namens "thelounge", der Ports, Volumes, Richtlinie zum Neustart und Bildquelle auf dunklem und orangefarbenem Farbverlaufhintergrund detailliert darstellt.

The Lounge – web IRC client

Im #uberblogr IRC Channel habe ich unterschwellige Kritik wahrgenommen. Die ewige An- und Abmelderei meiner IRC Anwendung of Choice Halloy hat wohl etwas genervt. Glücklicherweise schob man es auf den guten alten Berlin-Vibe (»Geht, geht nicht, geht …«).

Natürlich habe ich mir diese Geschichte zu Herzen genommen und ebenso unterschwellige Hinweise umgesetzt. Bengel, installiere doch endlich mal ZNC und/oder The Lounge. ZNC habe ich erstmal genervt in die Schublade gehauen.

Aber The Lounge, pfff, easy money! Hier die lässige docker-compose.yml:

services:
    thelounge:
        container_name: thelounge
        ports:
            - 9876:9000
        volumes:
            - ./config:/var/opt/thelounge
        restart: always
        image: ghcr.io/thelounge/thelounge:latest

Dann noch docker compose up -d und gut ist. Damit man die volle Nicht-An-und-Abmelderei-Experience nutzen kann, sollte man das Ding im private mode laufen lassen. Zu diesem Zwecke muss man einen User adden:

docker exec -it thelounge thelounge add username

ip:9876 (oder die draufgeklemmte Domain) aufrufen, einloggen, Nic, IRC Bude (z.B. irc.libera.chst) und Channel hinzufügen. Fertig ist die Butze und die Uberblogr-IRC-Insassen können sich entspannt zurücklehnen und ich kann die komplette History bewundern … Hach, watt schön!

Ach ja, ich habe The Lounge auf den heimischen Raspberry Pi gedengelt. Läuft sehr geschmeidig.

gts41.win - GoToSocial again

gts41.win – GoToSocial again

Ich finde, ihr solltet das wissen: Nach langer Pause habe ich mal wieder den GoToSocial Docker Container angeschmissen und dafür die schmissige Domain gts41.win registriert. Seit den letzten zwei Jahren hat sich viel getan und verbessert:

Mid 2023

Hashtags — implement federating hashtags and viewing hashtags to allow users to discover posts that they might be interested in. Mid/late 2023

Polls — implementing parsing, creating, and voting in polls.
Mute posts/threads — opt-out of notifications for replies to a thread; no longer show a given post in your timeline.
Limited peering/allowlists — allow instance admins to limit federation with other instances by default.

Early 2024

Move activity — use the ActivityPub Move activity to support migration of a user’s profile across servers.
Sign-up flow — allow users to submit a sign-up request to an instance; allow admins to moderate sign-up requests.

Das sieht doch alles voll schnafte aus! Ich teste meine GTS Instanz gts41.win mit Elk, feditext und Ice Cubes. Läuft!

Gotosocial

docker-compose.yml

services:
  gotosocial:
    image: superseriousbusiness/gotosocial:latest
    container_name: gotosocial
    user: 1000:1000
    networks:
      - gotosocial
    environment:
      # Change this to your actual host value.
      GTS_HOST: example.org
      GTS_DB_TYPE: sqlite
      # Path in the GtS Docker container where
      # the sqlite.db file will be stored.
      GTS_DB_ADDRESS: /gotosocial/storage/sqlite.db
      # Change this to true if you're not running
      # GoToSocial behind a reverse proxy.
      GTS_LETSENCRYPT_ENABLED: "false"
      # Set your email address here if you
      # want to receive letsencrypt notices.
      GTS_LETSENCRYPT_EMAIL_ADDRESS: ""
      # Path in the GtS Docker container where the
      # Wazero compilation cache will be stored.
      GTS_WAZERO_COMPILATION_CACHE: /gotosocial/.cache
      ## For reverse proxy setups:
      # GTS_TRUSTED_PROXIES: "172.x.x.x"
      ## Set the timezone of your server:
      #TZ: UTC
    ports:
      - "443:8080"
      ## For letsencrypt:
      #- "80:80"
      ## For reverse proxy setups:
      #- "127.0.0.1:8080:8080"
    volumes:
      # Your data volume, for your
      # sqlite.db file and media files.
      - ~/gotosocial/data:/gotosocial/storage
      # OPTIONAL: To mount volume for the WAZERO
      # compilation cache, for speedier restart
      # times, uncomment the below line:
      #- ~/gotosocial/.cache:/gotosocial/.cache
    restart: "always"

networks:
  gotosocial:
    ipam:
      driver: default

Die komplette Installations-Anleitung (Docker) gibt es hier: https://docs.gotosocial.org/en/latest/getting_started/installation/container/

Basics

GoToSocial ist eine quelloffene und dezentrale Plattform für Mikroblogging, die als Alternative zu kommerziellen Netzwerken wie Twitter entwickelt wurde. Sie ermöglicht Nutzern, eigene Server zu betreiben, die miteinander im Fediverse verbunden sind, wodurch ein offenes, föderiertes System entsteht. Mit Fokus auf Datenschutz, Nutzerkontrolle und einer minimalistischen Benutzeroberfläche ist GoToSocial ideal für alle, die soziale Netzwerke in einem unabhängigen und selbstbestimmten Rahmen nutzen möchten. Die Plattform wächst kontinuierlich und bietet zahlreiche Integrationsmöglichkeiten mit anderen dezentralen Diensten.

UberBlogr Webring

UberBlogr Webring

UberBlogr Webring

Der gute John hat mir den UberBlogr Webring in die Wandzeitung gespült. Als Internetz-Kind der frühen Jahre sind mir diese social Besuchertausch-Konstrukte natürlich bekannt. Den ersten Webring gab es schon 1994? Krass! Jedenfalls habe ich mich gleich mal für das UberDing angemeldet und die HTML-Schnipsel hier im Blog ziemlich prominent eingefriemelt.

Die ersten Besucher haben sich nach erfolgreicher Freischaltung auch schon blicken lassen. Hamma! Ach ja, heute kam noch eine Willkommensmail vom Betreiber Thomas Gigold himself. Danke und Hamma ! Bisher hat der UberBlogr Webring 96 Mitglieder. Da geht doch bestimmt noch was, oder?!? Vielleicht auch noch Bannertausch, oder so? Ok, mal nicht gleich übertreiben …

Fazit: bisschen wie damals™️

Basics Webring

Ein Webring ist eine Sammlung thematisch verwandter Websites, die durch Links miteinander verbunden sind und Benutzern den Zugang zu ähnlichen Inhalten erleichtern sollen. Besonders in den 1990er und frühen 2000er Jahren beliebt, wurden sie oft von Nischen-Communities genutzt, um kleinere Webseiten zu vernetzen. Jedes Mitglied fügt eine Navigation ein, die zu den vorherigen und nächsten Seiten im Ring führt. Obwohl sie durch Suchmaschinen und soziale Medien an Bedeutung verloren haben, erleben Webrings heute in einigen Retro- oder Indie-Web-Communities ein kleines Revival.

fediverse:creator (meta) tags

fediverse:creator (meta) tags

Die fediverse:creator (meta) tags habe ich heute früh das erste mal bewusst bei einem Heise-Beitrag bemerkt. Nach einer kurzen Recherche strandete ich bei folgendem Zitat:

»You will notice that underneath some links shared on Mastodon, the author byline can be clicked to open the author’s associated fediverse account, right in the app. This highlights writers and journalists that are active on the fediverse, and makes it easier than ever to follow them and keep up with their future work—potentially across different publications [

Gleich mal hier ins Internetz Tagebuch gedengelt …

fediverse:creator (meta) tags

… und dann mal schauen, was passiert.

Beszel - server resource monitoring hub - docker-compose.yml

Beszel – server resource monitoring hub

Beszel – server resource monitoring hub

Die Kombination aus Grafana und Prometheus war/ist mir immer etwas zu mächtig für das Monitoring meiner drei Raspberry Pi’s und ein/zwei Maschinen bei Hetzner. Also habe ich auf jedem „Gerät“ Glances installiert. Schön schlank und mit vielen Informationen, aber leider nicht zentral auf einem Dashboard darzustellen.

Vor kurzem lief mir Beszel (»A lightweight server resource monitoring hub«) über den Weg. Seit Sonnabend läuft das Ding -wie vorhin schon mal angeteasert – im persönlichen Netzwerk und ich bin schon mal sehr zufrieden.

Beszel?

Beszel ist ein leichtgewichtiges Server-Überwachungssystem mit folgenden Hauptmerkmalen:

  • Ressourcenschonend im Vergleich zu anderen Lösungen
  • Docker-Statistiken für CPU- und Speichernutzung
  • Konfigurierbare Alarme für Ressourcenauslastung
  • Mehrbenutzer-Unterstützung mit Adminrechten
  • Einfache Einrichtung ohne öffentliche Erreichbarkeit
  • OAuth/OIDC-Authentifizierung
  • Automatische Backups (lokal oder S3-kompatibel)
  • REST-API für eigene Anwendungen

Beszel - server resource monitoring hub - All Systems

Beszel - server resource monitoring hub - One Server View

Das System besteht aus zwei Komponenten:

  • Hub: Web-Anwendung für das Dashboard
  • Agent: Läuft auf den zu überwachenden Systemen

Einrichtung

Die Einrichtung erfolgt durch Starten des Hubs, Erstellen eines Admin-Benutzers, Hinzufügen von Systemen und Ausführen des Agenten (entweder als Docker-Container oder Binärdatei) auf den Zielsystemen. Hier laufen natürlich beide Komponenten in Docker Containern.

Hier die easy peasy docker-compose.yml für den Hub:

services:
  beszel:
    image: 'henrygd/beszel'
    container_name: 'beszel'
    restart: unless-stopped
    ports:
      - '8090:8090'
    volumes:
      - ./beszel_data:/beszel_data

Für den Agent wird eine docker-compose.yml beim Hinzufügen eines Servers automatisch erstellt. Das sieht dann ungefähr so aus:

services:
  beszel-agent:
    image: 'henrygd/beszel-agent'
    container_name: 'beszel-agent'
    restart: unless-stopped
    network_mode: host
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      PORT: 45876
      KEY: 'ssh-ed25519 YOUR_PUBLIC_KEY'
      # FILESYSTEM: /dev/sda1 # set to the correct filesystem for disk I/O stats

Auf der Github-Seite des Projekts ist das alles nochmal lässig und in voller Gänze beschrieben. Läuft voll schnafte!

Hier klicken, um den Inhalt von YouTube anzuzeigen.
Erfahre mehr in der Datenschutzerklärung von YouTube (öffnet in neuem Tab).

Plausible Analytics Community Edition

Plausible Analytics Community Edition

Plausible Analytics Community Edition

Du suchst nach einer datenschutzfreundlichen Alternative zu Google Analytics oder zu Umami? Dann könnte die Plausible Analytics Community Edition genau das Richtige für dich sein. Sie ist einfach zu installieren, transparent und gibt dir volle Kontrolle über deine Daten.

Was ist die Plausible Analytics Community Edition?

Die Plausible Analytics Community Edition ist ein Open-Source-Webanalyse-Tool, das dir datenschutzfreundliche Einblicke in die Nutzung deiner Website ermöglicht. Es verwendet keine Cookies und kein Cross-Site-Tracking. Du erhältst genau die Daten, die du brauchst, um deine Website zu verbessern und deine Besucher besser zu verstehen.

Vorteile der Plausible Analytics Community Edition

  • Datenschutzfreundlich: Keine Cookies, kein Cross-Site-Tracking.
  • Einfache Bedienung: Klar strukturierte Dashboards, die leicht zu verstehen sind.
  • Leichtgewichtig: Schnelle Ladezeiten, da Plausible keine unnötigen Ressourcen beansprucht.
  • Open Source: Volle Transparenz und Anpassungsmöglichkeiten.

Community Edition vs. Kostenpflichtige Version

Community Edition

  • Kosten: Kostenlos, da Open Source.
  • Hosting: Selbstgehostet, was dir volle Kontrolle über deine Daten gibt, aber auch die Verantwortung für Wartung und Sicherheit.
  • Funktionen: Grundlegende Webanalyse-Funktionen ohne Schnickschnack.
  • Support: Community-basierter Support über Foren und GitHub.

Kostenpflichtige Version

  • Kosten: Abonnement-basiert, mit verschiedenen Preisstufen je nach Bedarf.
  • Hosting: Gehostet von Plausible, was bedeutet, dass sie sich um Wartung, Sicherheit und Updates kümmern.
  • Funktionen: Zusätzliche Funktionen wie benutzerdefinierte Ereignisse, Ziel-Tracking, detaillierte Berichte und Integration mit anderen Diensten.
  • Support: Priorisierter, professioneller Support.

Plausible Analytics Community Edition - docker-compose.yml

Installation mit Docker Compose

Erstelle eine neue Datei namens docker-compose.yml in einem Verzeichnis deiner Wahl und füge folgenden Inhalt ein:

services:
  plausible_db:
    image: postgres:latest
    restart: always
    volumes:
      - ./db-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=postgres
  plausible_events_db:
    image: clickhouse/clickhouse-server:latest
    restart: always

    volumes:
      - ./event-data:/var/lib/clickhouse
      - ./event-logs:/var/log/clickhouse-server
      - ./clickhouse/clickhouse-config.xml:/etc/clickhouse-server/config.d/logging.xml:ro
      - ./clickhouse/clickhouse-user-config.xml:/etc/clickhouse-server/users.d/logging.xml>
    ulimits:
      nofile:
        soft: 262144
        hard: 262144

  plausible:
    image: ghcr.io/plausible/community-edition:latest
    restart: always
    command: sh -c "sleep 10 && /entrypoint.sh db createdb && /entrypoint.sh db migrate &&>
    depends_on:
      - plausible_db
      - plausible_events_db
    ports:
      - 8000:8000
    env_file:
      - ./plausible-conf.env

Erstelle eine Datei namens plausible-conf.env im gleichen Verzeichnis und füge folgende Umgebungsvariablen hinzu:

BASE_URL=https://xxxxx.xxx
SECRET_KEY_BASE=
TOTP_VAULT_KEY=

SECRET_KEY_BASE und TOTP_VAULT_KEY erstellst Du im Terminal mit folgenden Befehlen:

openssl rand -base64 48
openssl rand -base64 32

Öffne dein Terminal, navigiere in das Verzeichnis mit deiner docker-compose.yml und starte die Dienste mit:

docker-compose up -d

Docker Compose lädt die erforderlichen Images herunter und startet die Dienste im Hintergrund. Plausible Analytics sollte nun unter …

http://localhost:8000

… erreichbar sein.

Fazit

Die Plausible Analytics Community Edition ist eine großartige Lösung für datenschutzfreundliche Webanalysen. Mit Docker Compose ist die Einrichtung schnell und unkompliziert. Wenn du zusätzliche Funktionen und professionellen Support benötigst oder einfach den Aufwand für das Hosting vermeiden willst, dann ist die kostenpflichtige Version von Plausible sicherlich auch eine Überlegung wert.

Happy Tracking und