Erfahrungen mit Ghost, Teil 1: Warum eigentlich Ghost?

Meine ersten Erfahrungen mit der Blog-Plattform Ghost. In Teil 1 geht es darum, warum ich Ghost statt WordPress gewählt habe.

Teilen
Zwei Personen unter weißen Gespenster-Laken mit Sonnenbrillen, darüber der Schriftzug Ghost: Warum eigentlich?
Foto: Katerina Holmes, pexels.com

Update November 2026: Dieser Blog läuft inzwischen nicht mehr in Docker, sondern als native Installation von Ghost, weiterhin mit MariaDB. Der Text unten beschreibt meinen Stand vom Januar 2023.

Ghost ist als Blog-Plattform, verglichen mit WordPress, noch recht unbekannt. Die Popularität nimmt aber zu, auch wegen der Funktionen, die Ghost mitbringt. Außerdem geht Ghost das Bloggen anders an, und dieser Ansatz ist ziemlich interessant. Bevor es um die Installation geht, erst einmal die Grundlagen.

Was ist Ghost eigentlich?

Ghost besteht aus zwei Teilen. Der eine ist die eigentliche Technik, die du auch auf GitHub findest. Das ist ein Open-Source-CMS, ein sogenanntes Headless CMS, das du an deine Bedürfnisse anpassen und erweitern kannst.

Es basiert auf NodeJS und ist kompakt gehalten. Die Daten landen entweder in einer klassischen SQL-Datenbank oder in SQLite. Wobei „klassische SQL-Datenbank“ hier nur MySQL meint. Eine offizielle Unterstützung für MariaDB gibt es scheinbar noch nicht, funktionieren tut es trotzdem.

Der andere Teil ist das Angebot als „Software as a Service“ (SaaS), mit Abo-Kosten. Wer sich die Arbeit nicht antun möchte, alles von Hand zu installieren und zu konfigurieren, legt dort ein Konto an und kann loslegen. Das Modell kennst du von WordPress: Auf WordPress.org bekommst du den Code, auf WordPress.com dasselbe als SaaS. Bei Ghost läuft es genauso. Darum geht es hier aber nicht, wir wollen ja etwas lernen.

Warum Ghost?

Bleibt die Frage: Warum Ghost und nicht einfach WordPress? Ghost ist schnell, im Frontend wie im Backend. Ich habe schon oft erlebt, dass ein WordPress-Backend ins Straucheln gerät, je nachdem, wie groß ein Beitrag ist. Das kann ich von Ghost bisher nicht sagen. Dazu finde ich das Design sehr ansprechend, und das Backend ist klar und aufgeräumt.

Das sind aber nicht die wichtigsten Verkaufsargumente von Ghost. Vieles, was sich andere CMS mit Plug-ins von Drittanbietern zusammenstückeln müssen, bringt Ghost von Haus aus mit:

  • Suchmaschinenoptimierung
  • Verwaltung von Nutzern und Mitgliedern in verschiedenen, konfigurierbaren Stufen (Tiers)
  • Abo-Verwaltung mit Anbindung an Zahlungsanbieter
  • Newsletter-Verwaltung
  • und einiges mehr
Vergleichstabelle von ghost.org: Ghost gegenüber offenen Plattformen wie WordPress und geschlossenen Plattformen wie Medium, unter anderem bei Geschwindigkeit, Sicherheit, Open Source, SEO und Mitgliederfunktionen
Screenshot vom 23.01.2023 von ghost.org, Entwickler-Dokumentation, Introduction

Natürlich macht Ghost nicht alles besser als WordPress, darum geht es auch nicht. Ghost hat ein anderes Modell, und genau das war für mich das Alleinstellungsmerkmal, das den Ausschlag gegeben hat:

„Publishing: Everything revolves around your content!“

Genau so steht es auf der Website, und das hat mich zum Nachdenken gebracht.

Warum habe ich Ghost gewählt?

Ich habe schon länger mit dem Gedanken gespielt, alles, was mir so durch den Kopf geht, in einem Blog festzuhalten. Nicht nur, weil in meinem Hirn offenbar ein Riesendurcheinander herrscht, das mal aufgeräumt werden sollte. Vor allem passiert in der Technik so viel Neues, und vieles davon verschwindet einfach wieder, nur weil niemand mehr darüber spricht. Das wollte ich festhalten, und sei es nur für mich.

Dann kam jedes Mal der Feature-Creep: „Ja, okay, wenn du einen Blog aufsetzt, dann muss er aber auch Funktion X, Y, Z haben!“ Oder: „Der Blog ist ja dann ein WordPress, da muss ich unbedingt ein eigenes Theme entwickeln und davon ein Child-Theme ableiten!“ Und noch mehr Tech-Gelaber. Das hat mir jedes Mal den Mut genommen, es wirklich umzusetzen. Dann kam Ghost und sagte mir: „Hey, es geht nur um deinen Content.“ Das hat mich sofort angesprochen, und die Entscheidung war gefallen.

Leuchtkasten mit der Aufschrift You got this neben einem aufgeklappten Laptop auf einem Holztisch
Foto: Prateek Katyal, pexels.com

Danach habe ich mir die Dokumentation angeschaut (RTFM 🙄) und mit der Installation herumgewerkelt. So habe ich schnell verstanden, was im Hintergrund passiert, und Backend und Frontend einmal live gesehen. Was ich sah, gefiel mir, und es fühlte sich alles „richtig“ an. Also war es Zeit, ernsthaft anzufangen.

Wie und wo fängt man an?

Wer zum ersten Mal auf die offizielle Seite von Ghost kommt, sieht erst einmal nichts davon, dass man sich das Ganze auch herunterladen kann. Dafür musst du tiefer graben, vorbei an den vielen Vorschlägen, doch bitte ein Abo abzuschließen. Hast du endlich den Weg zur Entwickler-Dokumentation gefunden, stehst du vor der ersten wichtigen Entscheidung: Wie will ich das Ding eigentlich installieren?

Auswahl der Installationswege in der Ghost-Dokumentation: Ubuntu, Docker, lokale Installation und Installation aus dem Quellcode
Screenshot vom 23.01.2023 von ghost.org, Entwickler-Dokumentation, Installation

Du hast die Wahl zwischen:

  • direkt auf einem Linux-Server (Ubuntu)
  • in einem Docker-Container
  • erst einmal lokal auf dem eigenen Rechner, ob Windows, macOS oder Linux
  • komplett aus dem Quellcode

Die Wahl hängt ganz von dir ab und davon, was du gerade zur Verfügung hast. Ich habe mehrere Wege ausprobiert. Um mir das Ganze anzusehen und zu testen, habe ich zuerst alles lokal installiert. Parallel dazu habe ich mir den Quellcode genau angeschaut, weil ich wissen wollte, was da passiert. Als die Entscheidung stand, Ghost produktiv zu nutzen, habe ich auf die Docker-Installation gesetzt. Das Docker-Image, genauer gesagt die zwei Images, weil ich noch ein MariaDB-Image für die Datenbank nutze, habe ich lokal laufen lassen und später auf meinen Linux-Server im Web umgezogen.

Wie das Setup konkret aussah, mit GitLab, CI, Casper und Stripe, erzähle ich in Teil 2.