Directus - Headless CMS und Datenplattform für Entwickler

Directus - Headless CMS und Datenplattform für Entwickler

Directus verwandelt jede SQL-Datenbank in ein vollständiges Headless CMS mit REST- und GraphQL-API sowie einer modernen Verwaltungsoberfläche.

Was ist Directus?

Directus ist kein klassisches CMS, das ein festes Datenschema vorschreibt – stattdessen legt es sich wie eine intelligente Schicht über eine bestehende oder neue SQL-Datenbank. Alle Tabellen werden automatisch als Collections erkannt und sind sofort über API und Admin-Panel verwaltbar. Entwickler können Inhalte über REST oder GraphQL abrufen, während Redakteure über eine intuitive Oberfläche arbeiten. Directus eignet sich für Websites, Mobile Apps und interne Tools gleichermaßen.

Voraussetzungen

  • Docker 20.10+ oder Docker Compose
  • MySQL 8+, PostgreSQL 12+ oder SQLite als Datenbank
  • Mindestens 512 MB RAM, 1 GB empfohlen

Compose-Beispiel

services:
  directus:
    image: directus/directus:latest
    container_name: directus
    restart: unless-stopped
    ports:
      - "8055:8055"
    volumes:
      - ./uploads:/directus/uploads
      - ./extensions:/directus/extensions
    environment:
      - SECRET=langer_zufaelliger_string
      - ADMIN_EMAIL=admin@example.com
      - ADMIN_PASSWORD=sicheres_passwort
      - DB_CLIENT=pg
      - DB_HOST=db
      - DB_PORT=5432
      - DB_DATABASE=directus
      - DB_USER=directus
      - DB_PASSWORD=passwort

  db:
    image: postgres:15
    container_name: directus-db
    restart: unless-stopped
    volumes:
      - ./postgres:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=directus
      - POSTGRES_PASSWORD=passwort
      - POSTGRES_DB=directus

Hinweise

  • SECRET wird für JWT-Token-Signierung genutzt – ein langer, zufälliger String ist Pflicht.
  • Directus unterstützt Flows (visuelle Automatisierungen), die auf Datenbankereignisse reagieren können.
  • Extensions (Custom Displays, Interfaces, Modules) können in das ./extensions-Verzeichnis abgelegt werden.
  • Uploads werden im ./uploads-Verzeichnis gespeichert – regelmäßige Backups sind essenziell.