August 1, 2022

Blogging und Foto-Galerie-Software

(Ein Re-Post mit Aktualisierungen. Hier hatte sich tatsächlich ein unfertiger Bericht ins Rampenlicht gedrückt!)

Normalerweise poste ich meine Bilder ja hier im Blog. Das ist recht nett, weil ich noch etwas unter die Bilder schreiben kann. Aber irgendwie ist das auch etwas mühselig obwohl ich ein Script habe, welches mir den Markdown-Code automatisch generiert und auch aus den EXIF-Tags die Ortsinformationen extrahiert. Auch wären zusätzliche Features wie eine Übersichtskarte mit allen Fotos nett oder die Anzeige von EXIF-Daten (Brennweite, Blende, usw.)

Aus diesem Grund habe ich angefangen mich nach alternativen Lösungen umzusehen. Ziel: ein Blog mit Galerie-Funktion.

Da ich auch von dem statischen Hugo Blog etwas müde war und lieber etwas mit einer netten UI haben wollte, habe ich mir mal wieder Wordpress angesehen. Wordpress hat mittlerweile eine Komplexität angenommen, dass die schiere Konfiguration eines Templates eine überraschend steile Lernkurve aufweist. Mitunter benötigen Templates nun auch ihre eigenen Plugins und kommen mit eigenen Konfigurationsoberflächen daher. Jesus!

Auch stellte sich heraus, dass es überraschend kompliziert ist die bestehenden Hugo-Markdown-Dateien nach Wordpress zu importieren. Eine vernünftig funktionierende Lösung habe ich keine gefunden. Vermutlich hätte man selbst einen Parser für Markdown-Dateien basteln müssen, der die Posts via XML-RPC auf Wordpress veröffentlicht…

Also habe ich mit einer leichtgewichtigeren Blog-Software namens Yellow gespielt. Yellow braucht keine Datenbank (wie Wordpress) sondern generiert aus Markdown-Dateien per PHP die Webseite. Das ist schon mal besser als die Situation mit Wordpress. Es war ein leichtes die alten Posts mit einem in einer halben Stunde zusammengehackten Python Script umzuschreiben. Yellow nutzt zwar die gleichen Informationen in der Frontmatter wie Hugo, nur andere Schlüsselworte (“date” vs. “postdate”, etc.) - das lässt sich automatisiert natürlich leicht übersetzen.

Der Yellow Blog erschien mir auf den ersten Blick als super. Durch Plugins lassen sich leicht Funktionen ergänzen. Das derartig aufgemotzte Yello ist auch in der lage aus Ordnern nette Galerien zu publizieren

Dann fiel mir auf, dass Yellow die URL eines Posts nicht aus dem Dateinamen erzeugt (bei mir im Format “yyyy-mm-dd-shortTitleOfThePost.md”) sondern aus dem ersten paar Worten der ersten Überschrift. Eine herausragende Idee. Mir fiel nämlich auf, dass einige Posts unter derselben URL erreichbar sein würden.

Auch war am Ende des Tages die Möglichkeit per UI Beiträge zu schreiben weniger nützlich als gedacht - man ist ja nicht immer online, schreibt dann Zeugs offline und muss das per copy/paste veröffentlichen. Online veränderte oder geschriebene Beiträge hätten auch wieder auf dem Server gebackupt werden müssen.

So landete also auch der Yellow-Blog in der Mottenkiste und ich stellte den alten Hugo-generierten Blog wieder her. Möglicherweise ist eine Trennung von Blog und Galerie ja auch akzeptabel.

Nun stellt sich aber die Frage: welche reine Galerie-Software taugt was?

Hier gibt es mehr Open-Source-Galerie-Tools als man braucht. Bei näherer Betrachtung fällt aber auf, dass viele Lösungen eher für Foto-Communities gedacht sind und Funktionen wie Kommentare und Ratings anbieten. Beides brauche ich nicht. Es gibt auch Generatoren für statische Webseiten. Das gefiel mir irgendwie auch nicht wirklich, da diese Tools auch zu limitiert waren.

Nach einigen ausprobierten Tools, hätte ich gerne PhotoPrism verwendet. Diese Software hätte sogar Bilder per KI taggen können, was oft überraschend gut funktionierte. Leider gibt es aktuell aber noch keine Möglichkeit, die App als öffentliche Galerie betrieben zu können. Bilder öffentlich zu machen geht aktuell nur über einen Shared Link. Auch nicht optimal.

Meine Wahl fiel schließlich auf PiGallery2. Auch das ist eigentlich eine Multi-User- und Closed-Community-Lösung. Aber es ist doch recht einfach diese App in eine öffentlich Galerie umzukonfigurieren. Auch ist das initiale Depoloyment mit Docker innerhalb von wenigen Minuten erledigt.

Was bei PiGallery2 auch nett ist: Publizieren von Bildern funktionieren dadurch, dass man einen Ordner mit Fotos in einen bestimmten Root-Ordner auf dem Server hochlädt. Das kann z.B. durch rsync oder scp geschehen.

Ich habe den Upload aber so gelöst, dass der Root-Ordner meiner PiGallery auf ein Verzeichnis in meiner NextCloud zeigt. Uploads kann ich somit bequem per Handy oder Laptop vornehmen. Die Änderungen werden von PiGallery2 sofort ohne weiteres zutun von mir umgesetzt.

© ho1ger 2015 - 2022