Seit heute läuft diese Website nun mit Hugo, also einem Static Site Generator.

Warum?

Ich benutze Wordpress nun seit etwas über 10 Jahren und habe es eigentlich immer für ungefähr alles eingesetzt, was mir so in den Sinn kam. Von normaler Website über Wikis, Seiten für einzelne Projekte oder auch für diesen Blog. Die Auswahl an Themes ist generell gut, man findet Plugins für absolut alles und eine große Community gibt es auch. Vorteilhaft ist auch, dass Wordpress nur einen normalen Webserver mit PHP und eine Datenbank benötigt - Dinge, die man eigentlich immer zur Verfügung hat. Hinsichtlich Datenschutz ist Wordpress mit externen Themes und Plugins eher uncool, da man nie weiß, von wo jetzt Dinge eingebunden werden, ob Cookies gesetzt und/oder Daten erfasst werden usw.

Das, was mich aber mit am meisten an Wordpress gestört hat, ist der fast-zwang alle paar Tage nach Updates zu suchen und diese bei Bedarf zu installieren. Es gab in der Vergangenheit immer mal wieder Fälle, wo größere Sicherheitslücken aufgetaucht sind. Und bei einem so verbreiteten CMS wie Wordpress werden solche Lücken dann auch meistens ungefähr sofort breitflächig ausgenutzt. Mit Updates (vor allem auch Updates von PHP) gibt es dann auch immer mal wieder Kompatibilitätsprobleme mit Plugins oder Themes, was dann jedes Mal wieder für Arbeit sorgt.

Wenn man allerdings auf dem Webserver nur statische Dateien (HTML/CSS/Zubehör) liegen hat, macht das die Sache natürlich deutlich angenehmer. Updates vom Webserver selbst sind eigentlich egal, da der nur die Aufgabe hat, die Seite am Ende auszuliefern. Serverseitig wird kein Code ausgeführt, was auch die Angriffsfläche (für die Seite selbst) auf ungefähr Null reduziert. Ich selbst finde es auch durchaus angenehm, den Content in einem beliebigen Editor in Markdown schreiben zu können und nicht auf den Block-Editor von WP angewiesen zu sein. Beim Platzieren von Bildern und co hatte der wiederum seine Vorteile, aber damit werde ich jetzt eben leben. Die konkrete Wahl auf Hugo fiel, weil es ein verbreiteter Static Site Generator ist und mir die generelle Schlankheit gut gefällt. Auch mit dem Aufbau der Struktur bin ich zufrieden, ich habe mich schnell zurechtgefunden. Ein Theme zu suchen hat tatsächlich auch nicht lange gedauert, ich setze hier nun Hugo PaperMod ein. Ich habe aber einige Änderungen vorgenommen, beispielsweise ist das Footer-Menü neu. Ich hätte eigentlich auch gerne Unter-Menüs, aber das ist eine Sache, die ich zu einem anderen Zeitpunkt angehen werde.

Wie sieht der neue Workflow aus?

Die Dateien (Markdown, Theme, Configs, …) der Seite liegen in einem Git-Repo. Ich habe hier meinen Entwicklungsbranch, auf dem ich neuen Inhalt vorbereite, Änderungen am Theme oder andere Arbeiten vornehme. Wenn ich mit Änderungen zufrieden bin, übernehme ich diese in den main-Branch. Also ein ganz normaler Git-Workflow.

Sobald ich etwas ins Repo pushe, wird im Hintergrund eine CI-Pipeline mit Jenkins aktiv. Hier wird dann Hugo ausgeführt und damit die Seite gebaut. Danach wird die fertig generierte Website mit Rsync auf den Webserver kopiert. Aktuell läuft der Webserver noch mit Keyhelp, es ist allerdings möglich, dass sich auch das noch ändern wird.

Abhängig vom Branch wird Hugo mit dem entsprechenden Environment aufgerufen - production nur auf dem main-Branch, ansonsten dev. Das selbe für das Deployen der Seite. Der main-Branch landet auf der Hauptdomain, für alle anderen Branches gibt es eine getrennte Subdomain als Entwicklungsumgebung.

Ich habe bei der Umstellung der Seite darauf geachtet, alte Links möglichst intakt zu lassen. Das Link-Format für Posts ist deshalb das selbe wie bisher.

Wie gehts mit dem Blog weiter?

Ich habe vor, etwas aktiver Beiträge zu liefern. Besonders im Bereich Smart-Home mache ich mittlerweile deutlich mehr als vor einem halben Jahr noch. Ich habe auch mein Heimnetz und Homelab komplett neu strukturiert, dazu ist aktuell ein Post in Arbeit. Bisher habe ich noch einen Server im Skylink-Rechenzentrum stehen, dazu habe ich ebenfalls einen Erfahrungsbericht seit fast drei Jahren in Arbeit. Ich wage aber lieber keine Vorhersage, in welchen Abständen hier Inhalte kommen werden…