
Directus selbst hosten – der einfache Weg
Yulei ChenDirectus ist ein Open-Source-Headless-CMS, das jede SQL-Datenbank mit einer dynamischen REST- und GraphQL-API versieht. Du bekommst ein schickes Admin-Panel, um Content, User und Berechtigungen zu verwalten — ohne eine Zeile Code. Directus Cloud startet bei $99/Monat, und der Free-Tier ist auf einen einzigen User begrenzt. Wenn du mehr Flexibilität willst, ohne dafür viel zu zahlen, ist Self-Hosting der richtige Weg.
Sliplane ist eine Managed-Container-Plattform, die Self-Hosting schmerzlos macht. Du kannst Directus in wenigen Minuten per One-Click-Deploy starten — kein SSH, keine Reverse-Proxy-Config, keine Infrastruktur zum Verwalten.
Wenn du lieber den manuellen Weg gehst, schau dir Directus mit Docker auf einem Ubuntu-Server selbst hosten an — dort wird das komplette Docker- plus Caddy-Setup Schritt für Schritt erklärt.
Voraussetzungen
Vor dem Deploy brauchst du einen Sliplane-Account (kostenlose Trial verfügbar).
Quick Start
Sliplane bietet One-Click-Deployments mit Presets.
- Klick auf den Deploy-Button oben
- Wähl ein Projekt
- Wähl einen Server. Wenn du gerade neu registriert bist, bekommst du einen 48-Stunden-Trial-Server
- Klick auf Deploy!
Das war's! Sobald der Service healthy ist, öffne die Domain, die Sliplane dir gibt (z. B. directus-xxxx.sliplane.app), und log dich mit ADMIN_EMAIL und ADMIN_PASSWORD aus den Environment-Variablen deines Services ein.
Über das Preset
Das Directus-Preset deployt einen einzelnen Service mit allem, was du brauchst:
- Directus 11.17.2 — die Haupt-App mit REST- und GraphQL-APIs plus Admin-Panel
- SQLite-Datenbank — eingebettete Datenbank, speichert Daten in einer Datei auf dem Volume, kein separater DB-Service nötig
- WebSockets aktiv — Echtzeit-Updates out of the box
- Persistente Volumes — Datenbank, Uploads, Extensions und Templates überleben Redeployments
Die Environment-Variablen KEY und SECRET werden zum Signieren von Tokens und zum Verschlüsseln von Daten genutzt. Das Preset generiert dafür automatisch starke Zufallswerte.
Nächste Schritte
Wenn Directus auf Sliplane läuft, nutz die Domain, die Sliplane dir gibt (z. B. directus-xxxx.sliplane.app). Von dort aus kannst du dich einloggen, Environment-Variablen anpassen und das Logging auf dein Projekt zuschneiden.
Standard-Credentials
Log dich unter https://deine-directus-domain.sliplane.app/admin mit der E-Mail und dem Passwort ein, die du in ADMIN_EMAIL und ADMIN_PASSWORD konfiguriert hast.
Wichtige Environment-Variablen
Directus ist über Environment-Variablen hochgradig konfigurierbar. Hier ein paar, die du anpassen könntest:
| Variable | Beschreibung | Default |
|---|---|---|
PUBLIC_URL | Die öffentliche URL deiner Instanz | Auto-detected |
CACHE_ENABLED | Response-Caching aktivieren | false |
CACHE_AUTO_PURGE | Cache bei Content-Änderungen automatisch leeren | false |
CACHE_STORE | Cache-Backend (memory, redis) | memory |
RATE_LIMITER_ENABLED | Rate Limiting aktivieren | false |
MAX_PAYLOAD_SIZE | Maximale Upload-Größe | 1mb |
FILES_MAX_UPLOAD_SIZE | Maximale Datei-Upload-Größe | Unlimited |
Die komplette Liste findest du in der Directus-Config-Doku.
Logging
Standardmäßig loggt Directus nach STDOUT, was perfekt mit Sliplanes eingebautem Log-Viewer funktioniert. Du kannst das Log-Level über die LOG_LEVEL-Environment-Variable steuern:
| Wert | Beschreibung |
|---|---|
trace | Am ausführlichsten |
debug | Debug-Infos |
info | Standard-Level |
warn | Nur Warnungen |
error | Nur Fehler |
fatal | Nur kritische Fehler |
Allgemeine Docker-Logging-Tipps findest du in unserem Post Wie du docker logs verwendest.
Troubleshooting
Wenn Directus nicht startet, prüf die Logs in Sliplanes Log-Viewer. Häufige Probleme:
- Admin-Login lädt nicht — wart kurz nach dem ersten Deploy, Directus muss die SQLite-Datenbank initialisieren und den Admin-User anlegen
- Berechtigungsfehler bei Volumes — Directus läuft als Non-Root-User im Container; achte drauf, dass die Volumes korrekt gemountet sind
- Fehlende Environment-Variablen — stell sicher, dass
KEY,SECRET,ADMIN_EMAILundADMIN_PASSWORDgesetzt sind
Kostenvergleich
| Provider | vCPU Cores | RAM | Disk | Geschätzte monatliche Kosten | Hinweise |
|---|---|---|---|---|---|
| Sliplane | 2 | 2 GB | 40 GB | €9 | Abrechnung pro Server |
| Directus Cloud | — | — | — | $99+ | Managed, startet bei 1 User |
| Render | 1 | 2 GB | 40 GB | ~$35–$45 | VM Small |
| Fly.io | 2 | 2 GB | 40 GB | ~$20–$25 | VM + Volumes |
| Railway | 2 | 2 GB | 40 GB | ~$15–$66 | Nutzungsbasiert |
FAQ
Hier die Antworten auf Fragen, die beim Self-Hosting von Directus auf Sliplane oft auftauchen.
Was kann ich mit Directus bauen?
Directus funktioniert als Backend für Websites, Mobile Apps, IoT-Dashboards, interne Tools — alles, was strukturierten Content braucht. Es macht aus deiner Datenbank eine vollständige API mit Admin-Panel, damit du Content verwalten kannst, ohne Backend-Code zu schreiben. Du kannst es auch als klassisches Headless CMS für Blogs, Landingpages oder E-Commerce nutzen.
Wie aktiviere ich Caching?
Füg diese Environment-Variablen zu deinem Directus-Service auf Sliplane hinzu:
CACHE_ENABLED=true
CACHE_AUTO_PURGE=true
Damit ist In-Memory-Response-Caching aktiv — das kann Read-heavy Workloads deutlich beschleunigen. Für größere Setups kannst du einen separaten Redis-Service deployen und CACHE_STORE=redis mit einer REDIS-Connection-String setzen.
Wie aktualisiere ich Directus?
Änder den Image-Tag in deinen Directus-Service-Settings auf Sliplane (z. B. von directus/directus:11.17.2 auf eine neuere Version) und redeploy. Prüf Docker Hub für die neueste stabile Version. Lies immer die Release Notes vor einem Upgrade, da Major-Versionen Breaking Changes oder nötige Datenbank-Migrationen enthalten können.
Wie schneidet Directus im Vergleich zu anderen Headless CMS ab?
Payload CMS ist eine Code-First-Alternative, wenn du TypeScript-basierte Schema-Definitionen bevorzugst. Ghost ist super, wenn du speziell eine Publishing-Plattform brauchst. Directus sticht heraus, weil es mit jeder bestehenden SQL-Datenbank funktioniert und du keine Schemas im Code definieren musst — alles wird über die Admin-UI verwaltet.
Kann ich Directus mit einer bestehenden Datenbank nutzen?
Ja! Das ist eins der stärksten Features von Directus. Es kann eine bestehende PostgreSQL-, MySQL-, SQLite-, MS SQL- oder Oracle-Datenbank inspizieren und automatisch APIs und ein Admin-Panel dafür generieren. Zeig einfach mit den DB_*-Environment-Variablen auf deine bestehende Datenbank.