DE
Anmelden Konto erstellen

So installierst du Directus auf Saplo (Headless CMS)

Contentful kann für Projekte mit realem Traffic Rechnungen im Wert von Tausenden von Euro pro Monat ausstellen, da du für jeden API-Aufruf bezahlst und nicht nur für das Hosting der Inhalte. Directus ist ein Open-Source-Headless-CMS, das ein Admin-Panel direkt aus deinem Datenbankschema generiert und REST sowie GraphQL ohne Backend-Programmierung bereitstellt. Du installierst es auf deiner eigenen Box ohne Abfragebegrenzung.

Grzegorz Kalmus ·

Eine Agentur, die eine Website oder eine Anwendung für einen Kunden erstellt, steht früher oder später vor der Frage, wo die Inhalte gespeichert werden sollen: Texte, Produktbilder, Blog-Einträge, Daten, die im Frontend angezeigt werden. Contentful löst dieses Problem, berechnet aber die Anzahl der API-Aufrufe, sodass die Rechnung mit dem Traffic der Website des Kunden steigt, selbst wenn sich der Inhalt selbst nicht ändert. Directus ist ein Open-Source Headless CMS, das dasselbe ohne Abfragezähler tut: Du verbindest eine Datenbank, erhältst ein fertiges Admin-Panel, das automatisch aus dem Schema dieser Datenbank generiert wird, sowie eine REST- und GraphQL-API. Im Folgenden erfährst du Schritt für Schritt, wie du Directus auf Saplo einrichtest.

Warum Directus statt Contentful

Contentful und ähnliche kostenpflichtige Headless-CMS haben zwei Eigenschaften, die Agenturen, die für mehrere Kunden gleichzeitig arbeiten, am meisten stören:

  • Abrechnung nach API-Aufrufen - je mehr Traffic die Website eines Kunden generiert, desto höher ist die monatliche Rechnung, und bei mehreren Projekten auf einem Konto summieren sich die Kosten.
  • Das Inhaltsmodell muss manuell von Grund auf im Anbieterpanel erstellt werden - Directus liest stattdessen ein bestehendes Datenbankschema und generiert daraus automatisch ein Admin-Panel; Sammlungen entsprechen Tabellen, Felder entsprechen Spalten.

Directus ist keine separate Inhaltsdatenbank, die vom Rest des Systems losgelöst ist, sondern eine Schicht über deiner eigenen Datenbank. Wenn eine Agentur bereits ein auf ein bestimmtes Projekt zugeschnittenes Datenmodell hat, stellt Directus dieses als API bereit, anstatt die Agentur zu zwingen, die Struktur an ein fremdes Format anzupassen.

Anforderungen

Um Directus auf Saplo einzurichten, benötigst du:

  • Eine Box mit aktiviertem Docker (die Engine startet es automatisch bei der Installation aus dem Katalog, Container-Nesting ist erforderlich, was Saplo standardmäßig bietet),
  • mindestens 1 GB freien RAM auf der Box und 3 GB Speicherplatz, d.h. den Plan Box M oder höher,
  • eine Domain oder Subdomain *.saploapp.pl, die in jedem Plan enthalten ist, unter der das Directus-Panel verfügbar sein wird,
  • einen eigenen PostgreSQL-Container, da die Saplo-Engine eine gemeinsame Datenbank nur für MySQL/MariaDB hat, erhält Directus einen dedizierten Container postgres:16-alpine in derselben docker-compose, du musst nichts manuell konfigurieren.

Schritt-für-Schritt-Installation

  1. Gehe in deinem Saplo-Panel zum App-Katalog und wähle Directus (Kategorie „Daten“) aus.
  2. Wähle die Box mit mindestens 1 GB freiem RAM, auf der Directus installiert werden soll, und die Domain oder Subdomain, unter der das Panel laufen wird.
  3. Bestätige die Installation. Die Engine stellt einen dedizierten Postgres-Container und einen Directus-Container aus dem offiziellen Image directus/directus bereit, generiert zufällige Werte KEY und SECRET, die für die Anwendung erforderlich sind, stellt das Panel nur auf dem Loopback der Box bereit und verbindet es mit Nginx, das es unter der angegebenen Domain mit kostenlosem SSL bereitstellt. Nach außen ist nur Port 443 freigegeben, nicht der rohe Port des Containers.
  4. Der Directus-Container startet erst, nachdem Postgres seine Bereitschaft signalisiert hat (Healthcheck pg_isready), und die Engine überprüft zusätzlich mit docker compose up, ob der Container tatsächlich läuft, denn der Erfolg des Befehls selbst bedeutet nicht, dass der Prozess im Inneren nicht kurz danach abgestürzt ist.
  5. Nach Abschluss der Installation ist das Directus-Panel unter der angegebenen Domain verfügbar.

Erste Konfiguration

Das Directus-Image erstellt beim ersten Start auf einer leeren Datenbank automatisch ein Administratorkonto. Ähnlich wie bei Listmonk oder Paperless-ngx durchläufst du keinen separaten Registrierungsassistenten.

  1. Rufe die Domain-Adresse auf, zum Beispiel cms.saploapp.pl. Die Anmeldedaten (E-Mail und ein zufällig generiertes Passwort) findest du in der Datei DIRECTUS-SETUP.txt im Anwendungsverzeichnis auf Box.
  2. Ändere das Administratorpasswort sofort nach der ersten Anmeldung unter Einstellungen -> Benutzer. Bewahre die Daten aus der Setup-Datei nur bis zu dieser Änderung auf.
  3. Erstelle unter Dateneinstellungen die erste Sammlung (Collection). Directus schlägt sofort Felder für typische Fälle vor, zum Beispiel Text, Zahl, Bild, Beziehung zu einer anderen Sammlung, und jede Sammlung ist eine Tabelle in der Postgres-Datenbank.
  4. Öffne den Reiter Einstellungen -> Rollen und Berechtigungen und konfiguriere die Rolle Public. Wenn das Frontend Inhalte von der API ohne Anmeldung lesen soll, gibst du hier den Nur-Lese-Zugriff auf ausgewählte Sammlungen.
  5. Überprüfe die generierten Endpunkte unter https://cms.saploapp.pl/items/<collection_name> (REST) und https://cms.saploapp.pl/graphql (GraphQL). Beide funktionieren sofort, ohne zusätzliche Konfiguration.

Directus auf Saplo vs. Contentful

Contentful Directus auf Saplo
Preismodell Gebühren steigen mit der Anzahl der API-Aufrufe und Datensätze feste Box-Kosten, keine Abfragelimits
Inhaltsmodell manuell im Anbieterpanel von Grund auf neu erstellt automatisch aus deinem Datenbankschema generiert
Datenbank geschlossen, Zugriff nur über die API des Anbieters eigenes Postgres, du hast vollen Zugriff darauf
API REST und GraphQL, Abfragelimit abhängig vom Plan REST und GraphQL ohne Aufruflimit
Wo die Daten sind Contentfuls Infrastruktur Deine Box

Häufig gestellte Fragen

Ist Directus für ein Projekt geeignet, das bereits eine Datenbank entworfen hat? Ja, das ist seine Stärke. Das Admin-Panel und die API werden automatisch aus dem Schema einer bestehenden Datenbank generiert, sodass du das Datenmodell nicht an ein vom CMS-Anbieter vorgegebenes Format anpassen musst.

Muss ich eine Postgres-Datenbank vor der Installation selbst einrichten? Nein, die Saplo-Engine stellt einen dedizierten Postgres-Container zusammen mit Directus in derselben docker-compose-Datei bereit und fügt die Verbindungsdaten selbst ein. Für die Installation benötigst du keine externe Konfiguration.

Hat die Directus-API ein Aufruflimit? Nein, im Gegensatz zu Contentful oder ähnlichen kostenpflichtigen Diensten ist die Anzahl der REST- und GraphQL-Anfragen ausschließlich durch die Ressourcen deines Box begrenzt, nicht durch einen Zähler in der Preisliste.

Kann Directus mit einem Next.js-Frontend oder einer mobilen App verbunden werden? Ja, dafür ist Directus gedacht: Das Frontend oder die mobile App ruft Inhalte über die generierte REST- oder GraphQL-API ab, und die Redaktion des Kunden bearbeitet diese in einem separaten Panel, ohne Zugriff auf den Code.

Warum muss ich die ersten Zugangsdaten in einer Datei auf Box suchen und nicht in einer E-Mail? Directus erstellt das Administratorkonto automatisch beim ersten Start des Containers. Die Saplo-Engine speichert das generierte Passwort in der Datei DIRECTUS-SETUP.txt im Anwendungsverzeichnis, anstatt es per E-Mail zu versenden. Das ist dasselbe Muster wie bei anderen Anwendungen mit automatischem Startkonto.

Wenn du ein Projekt mit separatem Frontend aufbaust und ein Content-Backend ohne Gebühren für jeden API-Aufruf benötigst, schreib uns, wir helfen dir gerne, die passende Box für die Größe deines Projekts auszuwählen.

  • #Agenturen
  • #API
  • #Directus
  • #Headless CMS
  • #Anleitung