Meine Erfahrungen mit TYPO3

Entscheidungsprozess

Vor einigen Jahren kam in der Familie das Thema auf, ob man nicht für unser Hobby Geocaching eine eigene Webseite betreiben könnte, da das eigene Groundspeak-Profil diesbezüglich etwas eingeschränkt ist. Ich bejahte dies und fing an zu recherchieren, wie dies technisch am sinnvollsten umzusetzen ist.

Nach einiger Recherche ergaben sich folgende Möglichkeiten:

  • Ein Content Management System (kurz: CMS), welches mit einer graphischen Oberfläche es auch technisch nicht versierten Menschen ermöglicht Inhalte zu verwalten.
  • Ein Static Site Generator, der mit Hilfe von vereinfachten Dokumenten (wie bspw. Markdown) eine vollständige Webseite über Templates generiert.

Da ich das Bedürfnis hatte das meine Eltern und Bruder in der Lage sind Inhalte zu erstellen und womöglich dynamische Inhalte zu verwenden konnte ich Static Site Generators sehr einfach ausschließen.

Ich recherchierte weiter im Bereich CMS. Wichtig war mit dabei:

  • Open Source ist
  • Selbst hostbar
  • Eine halbwegs große Community.

Nach einigen Stunden ergab sich dadurch die folgende Auswahl:

  • Wordpress
  • Jomla
  • Drupal
  • TYPO3

Ich schloss Wordpress nach kurzer Zeit aus, da die regelmäßigen Sicherheitslücken mir Sorgen machten. Nachdem ich mir die Größe der Community und die Historie der verbleibenden drei CMS-Systeme ansah, entschied ich mich schlussendlich für TYPO3. Dies war bei Weitem keine rationale Entscheidung, sondern ein Bauchgefühl.

Erfahrungen

Im Laufe meiner Homelab-Karriere habe ich bereits mehrfach meine TYPO3-Instanz durch Konfigurationsprobleme verloren, die ich immer selbst verursacht habe. Die Idee für diesen Artikel habe ich nach dem aktuellen Verlust bekommen.

Der aktuelle Verlust meiner Instanz lässt sich auf einen falsch konfigurierten Einhängepunkt in meinem Container zurückführen. Dies ist insbesondere ärgerlich, weil das Container-Image, welches ich nutze, über lange Zeit nicht aktualisiert worden ist (über ein Jahr). Deshalb habe ich über Monate den gleichen Kubernetes-Pod genutzt, welcher alle Daten enthalten hat, welche ich eigentlich hätte sichern müssen. Das lustige hierbei ist, das ich sogar Backups automatisch erstellen lasse von allen meinem Volumes, leider habe ich aber nur stichprobenartig untersucht ob in den Backups auch tatsächlich Dateien enthalten sind. Durch den falschen Einhängepunkt hatte ich nun nur ein Teil-Backup, was nach dem Umzug von meinem Single- auf mein Multi-Node Cluster natürlich zutage gekommen ist, hierbei ist der alte Pod verloren gegangen und ich habe meine Instanz somit verloren.

Die Reparatur

Um das ganze Problem in Zukunft zu umgehen, habe ich - wie in der TYPO3-Dokumentation empfohlen - auf das Composer-basierte Setup gewechselt. Hierfür habe ich zwei Dinge benötigt:

  1. Ein Container-Image mit allen Abhängigkeiten, die ich in meiner Instanz benötige. - https://gitlab.com/School_Guy/docker-typo3/
  2. Ein Helm-Chart, welches das Container-Image auch nutzt. - https://gitlab.com/School_Guy/charts/-/tree/main/charts/typo3?ref_type=heads 

Mit diesem Setup habe ich nun alle Abhängigkeiten unter Kontrolle und habe den Vorteil, dass ich Testinstanzen ein wenig einfacher lokal zur Verfügung habe. Dies ist ein Vorteil, den ich nicht nutzen muss, aber es ist einer, den ich vielleicht in Zukunft nutzen möchte.

Lessons Learnt

Dies ist mein Lieblingsabschnitt von Videos mit Patrick von Serve the Home. Ich möchte also stichpunktartig hier euch meine nun präsentieren:

  • Container machen das Leben einfacher, aber sie müssen gepflegt werden.
  • Backups müssen auch getestet werden.
  • TYPO3 läuft wunderbar auf NFS-basierten Volumes.
  • Mit PHP & Composer zu arbeiten macht wenig Spaß, aber es funktioniert in Ordnung. → Erhöhter Aufwand, da jede Person sich ihr eigenes Image bauen muss.
  • Der “alte” Weg um TYPO3 zu hosten über die .tar.gz geht, aber es wird an immer mehr Stellen deutlich das es nur noch ein Mitglied zweiter Klasse ist.
  • Ein Vorteil des neuen Weges ist klarer definierte Umgebungen.
  • Die Migration von einer TYPO3-Testinstanz zu einer produktiven Instanz ist nicht offiziell dokumentiert.

Comments

No Comments