Bei meiner aktuellen Anwendung müssen unter anderem Bilder im Browser angezeigt werden können, und zwar nicht in Form eines kompletten Albums bzw. einer Gallery, sondern als einzelne Bilder. Da diese Bilder durchaus auch größer sein können oder die falsche Ausrichtung besitzen, sollte das Bildbetrachtungs-Modul grundlegende Funktionen wie Zoom, Anzeige in Original-Auflösung sowie insbesondere Rotation zur Verfügung stellen.
Weiterlesen bei Ein kleiner ImageViewer mit Vue.js
Zentralisiertes Logging von Docker-Containern mit Alloy, Loki und Grafana
Nach den Erkenntnissen aus der näheren Betrachtung der Logs und der im letzten Artikel beschriebenen Sperrung von unerwünschten Besuchern war meine Neugier geweckt worden. Zwar werden die komplett sinnlosen Anfragen von Traefik problemlos verarbeitet und laufen letztlich ins Leere, aber mir schwebte dennoch eine umfassendere Lösung vor, die es ermöglichen würde, nicht nur zufällig den einen oder anderen Störenfried zu entdecken, sondern systematisch und konsequent, um ggf. in einem nächsten Schritt weitere Gegenmaßnahmen einleiten zu können.
Weiterlesen bei Zentralisiertes Logging von Docker-Containern mit Alloy, Loki und Grafana
Kurztipp: Aussperren von unerwünschten Besuchern mit Traefik Proxy
Wie bereits in früheren Artikel beschrieben, nutze ich für meine Web-Auftritte (das klingt jetzt viel, aber letztlich ist es nur noch dieses Blog und ein paar statische Seiten) als erste Bastion gegenüber den Besuchern aus dem Internet den „Cloud Native Application Proxy“ Traefik. Dieser Open Source Reverse Proxy und Load Balancer, der speziell für Container-Umgebungen entwickelt wurde, bietet einfach unschätzbare Features wie automatisches Handling von Let’s-Encrypt-Zertifikaten, flexibles Routing, dynamische Konfiguration ohne Restart und eine hervorragende Integration in die Docker-(Compose-)Landschaft.
Weiterlesen bei Kurztipp: Aussperren von unerwünschten Besuchern mit Traefik Proxy
Benchmarking FerretDB und MongoDB
Mit Benchmarks ist es ja so eine Sache – analog zu Statistiken, nach dem altbekannten Motto – „Traue keiner Statistik, die du nicht selbst gefälscht hast“. Für einen ersten Eindruck ist der Benchmark des letzten Artikels, der FerretDB mit MongoDB verglichen hat, sicherlich gut und sinnvoll, allerdings hat er meiner Ansicht nach einen entscheidenden Haken: Die Struktur, oder vielmehr die fehlende Struktur der Dokumente.
Weiterlesen bei Benchmarking FerretDB und MongoDB
FerretDB – eine Open-Source Document Database
FerretDB? Nie gehört? Tatsächlich erging es mir bis vor einigen Monaten nicht anders, bis mir der Name im Golang-Weekly-Newsletter von Anfang September 2024 begegnete. Die Kurzbeschreibung weckte meine Aufmerksamkeit – übersetzt ungefähr eine Datenbank, die sich wie MongoDB verhält, mit PostgreSQL im Hintergrund.
Weiterlesen bei FerretDB – eine Open-Source Document Database
Dockerized Pi-Hole hochverfügbar mit keepalived und DRBD, Teil 2
Wie bereits im ersten Artikel angekündigt, soll es in diesem Beitrag um die konkrete Konfiguration von Keepalived und insbesondere um die damit einher gehenden Skripte gehen, die dafür sorgen, dass im Failover-Fall die DRBD-Ressource auf den Secondary Host gelangt, auf dem – nun in der Primary-Rolle – zu guter Letzt Pi-Hole gestartet wird.
Weiterlesen bei Dockerized Pi-Hole hochverfügbar mit keepalived und DRBD, Teil 2
Dockerized Pi-Hole hochverfügbar mit keepalived und DRBD, Teil 1
Vor einiger Zeit waren Pi-Hole und keepalived bereits Thema dieses Blogs. Pi-Hole wurde – mittlerweile eigentlich schon selbstverständlich – als Docker-Container betrieben, keepalived sorgte für die Hochverfügbarkeit, indem es zum einen eine Floating IP bereit stellte, unter der, für die Clients völlig transparent, Pi-Hole auf jeweils einem von zwei Nodes lief und somit bei einem Ausfall einer Maschine weiter betrieben und demzufolge auch genutzt werden konnte.
Weiterlesen bei Dockerized Pi-Hole hochverfügbar mit keepalived und DRBD, Teil 1
Statische lokale IPv6-Adressen (ULA) im Heimnetz mit pfSense
Wie jede Geschichte hat auch diese einen Anfang, in diesem Fall war es ein neuer PC. Dafür habe ich mir sogar die Pro-Version von Windows 11 geleistet, und eigentlich klappte auch alles wie gewünscht. Naja, fast. Wie bereits in zwei Artikeln über pfSense hier und da beschrieben, funktioniert die Vergabe von IPv6-Adressen, die mir vom Provider angeboten, von der Fritz!Box durchgereicht und von pfSense letztlich an die Clients im Heimnetz verteilt werden, seit geraumer Zeit sehr gut.
Weiterlesen bei Statische lokale IPv6-Adressen (ULA) im Heimnetz mit pfSense
ChatGPT, Du hast da was vergessen!
Manche Dialoge mit ChatGPT sind doch so interessant, dass man sie gerne aufbewahren möchte, und genau zu so einem führte mich der heutige Chat.
Zum Hintergrund: Ich nutze ChatGPT in der Plus-Variante inzwischen ganz gerne als eine Art Assistent oder mitunter auch Praktikant bei der Software-Entwicklung. Zum Beispiel bei der Erstellung von Dokumentation, denn um diese von Programmierern eher ungeliebte Aufgabe drücke ich mich zugegebenermaßen auch mal ganz gerne. Aktuell entwickle ich einen Teil eines Projektes in der Programmiersprache Go, und so habe ich ChatGPT angewiesen, dass „er“ (im Folgenden nutze ich der Einfachheit halber Personalpronomen, auch wenn mir selbstverständlich bewusst ist, dass es sich um eine Maschine handelt) mir Funktionsdokumentation im Go-Stil bereitstellen soll, wenn ich ihm die entsprechende Datei zur Verfügung stelle. Praktisch sieht das so aus, dass ein Chat zur Go Funktionsdokumentation vorhanden ist, in den ich eine Go-Datei hinein kopiere, und ChatGPT packt anschließend die Funktionsdokumentation vor die jeweilige Funktion. Wobei ich zu Beginn des Dialogs noch erwähnt hatte, dass es nicht nötig ist, den gesamten Code der Funktion zu wiederholen, sondern dass die erste Zeile der Funktionsdefinition genügt. Das funktioniert wirklich sehr gut, ist somit eine wesentliche Erleichterung und bietet eine merkliche Zeitersparnis.
Weiterlesen bei ChatGPT, Du hast da was vergessen!
Das iPad Air (2024) ist ein Schaumkuss
Wie bitte? Ist der jetzt verrückt geworden? Vielleicht, aber das ist eine andere Geschichte. Denn hier geht es um das neue iPad Air von 2024, und letztlich betrifft meine Aussage auch alle anderen iPads neuerer Bauart, schließlich laufen sie unter demselben Betriebssystem inklusive dessen Konzepten und Apps.
Weiterlesen bei Das iPad Air (2024) ist ein Schaumkuss