Directus vs Supabase 2026: Backend-Lösung wählen
Directus vs Supabase in 2026: Choosing Your Backend
Ich habe in den letzten drei Jahren Projekte sowohl mit Directus als auch mit Supabase ausgeliefert. Jedes Mal wenn mich jemand fragt "welche sollte ich wählen?", ist meine Antwort dieselbe: Es kommt darauf an, was du tatsächlich baust. Das ist kein Ausweichmanöver -- diese beiden Tools erfüllen wirklich unterschiedliche primäre Zwecke, obwohl sie sich auf überraschende Weise überschneiden. Directus ist ein Headless CMS, das jede SQL-Datenbank mit einer schönen Admin-UI und einer REST/GraphQL-API umhüllt. Supabase ist eine Firebase-Alternative, die auf PostgreSQL aufgebaut ist und dir Auth, Echtzeit-Abos, Speicher und Edge Functions bietet. Die Überschneidung? Beide geben dir eine Datenbank, beide geben dir eine API, und beide haben ein Dashboard zum Verwalten von Daten. Aber die Philosophie hinter jedem einzelnen ist grundlegend verschieden, und diese Philosophie prägt jede Entscheidung, die du danach treffen wirst.
Lass mich dir durchgehen, was ich beim Bauen mit beiden in der Produktion gelernt habe.
Inhaltsverzeichnis
- Philosophie und Kernidentität
- Datenbank und Datenmodellierung
- Vergleich der API-Schicht
- Content-Management-Erfahrung
- Authentifizierung und Autorisierung
- Echtzeit-Funktionen
- Self-Hosting und Infrastruktur
- Preisübersicht 2026
- Developer Experience
- Wann man jedes nutzen sollte
- FAQ

Philosophie und Kernidentität
Directus nennt sich selbst eine "Datenplattform", aber seien wir ehrlich -- sein Kern ist ein Headless CMS. Es nimmt deine vorhandene SQL-Datenbank (PostgreSQL, MySQL, MariaDB, MS SQL, SQLite, Oracle, CockroachDB) und legt eine Content-Management-Oberfläche darauf. Die Kernidee: Directus besitzt nicht dein Datenschema. Du kannst es auf eine vorhandene Datenbank verweisen und es wird die Tabellen und Beziehungen automatisch introspektieren. Das ist mächtig, wenn du bereits eine Datenbank hast und eine Management-Layer brauchst.
Supabase ist ein Backend-as-a-Service (BaaS). Es ist PostgreSQL mit Extras: Authentifizierung, Dateispeicher, Echtzeit-Abos, Edge Functions und Vector-Embeddings für AI-Workloads. Supabase geht davon aus, dass du eine Anwendung baust, keine Inhalte verwaltest. Das Dashboard ist für Entwickler konzipiert, nicht für Content-Editoren.
Dieser philosophische Unterschied ist wichtiger als jeder Funktionsvergleich. Wenn du eine Inhalts-getriebene Website baust, bei der Editoren Blog-Beiträge veröffentlichen, Medien verwalten und Änderungen vorschauen müssen -- Directus ist genau dafür gemacht. Wenn du eine SaaS-App baust, bei der Benutzer sich anmelden, Daten speichern und in Echtzeit interagieren -- Supabase ist dafür gemacht.
Aber die meisten echten Projekte sind nicht so sauber strukturiert. Und das ist, wo es interessant wird.
Datenbank und Datenmodellierung
Directus
Directus nutzt einen "datenbank-ersten" Ansatz. Du definierst dein Schema über die Directus-UI oder direkt in deiner Datenbank -- beides funktioniert. Die Admin-App generiert automatisch Formulare, Beziehungen und Validierung basierend auf deinem Schema. Du möchtest eine many-to-many-Beziehung zwischen articles und tags? Erstelle die Junction-Tabelle (oder lass Directus sie erstellen), und die Admin-UI rendert automatisch einen schönen Tag-Selector.
Eine Sache, die ich schätze: Directus erstellt keine eigene Abstraktionsebene über deinen Tabellen. Deine Tabellennamen, Spaltennamen und Beziehungen sind genau das, was du definiert hast. Die Systemtabellen (mit directus_ prefixiert) liegen neben deinen Daten, beeinflussen sie aber nicht.
Unterstützte Datenbanken in 2026:
- PostgreSQL 12+
- MySQL 8+
- MariaDB 10.5+
- MS SQL 2019+
- SQLite 3+
- CockroachDB 22+
- Oracle 19c+
Supabase
Supabase ist PostgreSQL. Punkt. Du erhältst eine vollständige Postgres-Instanz mit Erweiterungen wie PostGIS, pgvector, pg_cron und hunderten anderen. Schemaverwaltung erfolgt über den SQL-Editor des Dashboards, ihre Tabellen-Editor-UI oder Migrations über die Supabase CLI.
Der Migration-Workflow in Supabase hat sich erheblich verbessert. Die CLI generiert Migration-Dateien, und du kannst supabase db diff verwenden, um Schemaänderungen zu erfassen, die über das Dashboard gemacht wurden. In 2026 haben sie auch Branching hinzugefügt -- Datenbank-Branches, mit denen du Schemaänderungen isoliert vor dem Zusammenführen zur Produktion testen kannst.
-- Supabase Migration-Beispiel
create table public.articles (
id uuid default gen_random_uuid() primary key,
title text not null,
slug text unique not null,
content jsonb,
published_at timestamptz,
author_id uuid references auth.users(id),
created_at timestamptz default now()
);
alter table public.articles enable row level security;
create policy "Published articles are viewable by everyone"
on public.articles for select
using (published_at is not null and published_at <= now());
Das Row Level Security (RLS) Modell ist sowohl Supabase's Superpower als auch die steilste Lernkurve. Mehr dazu später.
| Feature | Directus | Supabase |
|---|---|---|
| Datenbank-Engine | PostgreSQL, MySQL, MariaDB, MS SQL, SQLite, CockroachDB, Oracle | Nur PostgreSQL |
| Schemaverwaltung | GUI + direktes SQL | GUI + SQL-Editor + CLI-Migrations |
| Datenbank-Branching | Nicht integriert (separate Instanzen verwenden) | Ja (nativ, seit spätem 2024) |
| Extensions | Abhängig von gewählter DB | 60+ Postgres-Erweiterungen |
| Vector/AI-Unterstützung | Via Extensions | pgvector integriert |
| Direkter DB-Zugriff | Vollständiger Zugriff immer | Vollständiger Zugriff immer |
Vergleich der API-Schicht
Directus APIs
Directus generiert automatisch sowohl REST als auch GraphQL APIs aus deinem Schema. Die REST API folgt einem vorhersehbaren Muster:
# Hole alle Artikel mit Author-Beziehung
GET /items/articles?fields=*,author.name&filter[status][_eq]=published&sort=-published_at&limit=10
Das Filtersystem ist aussagekräftig. Du kannst verschachtelte relationale Filter, Aggregation und sogar geografische Abfragen machen. Das SDK umhüllt all das schön:
import { createDirectus, rest, readItems } from '@directus/sdk';
const client = createDirectus('https://your-instance.com').with(rest());
const articles = await client.request(
readItems('articles', {
fields: ['*', { author: ['name', 'avatar'] }],
filter: { status: { _eq: 'published' } },
sort: ['-published_at'],
limit: 10,
})
);
Das TypeScript SDK in Directus 11 (stabiles Aktuelles ab 2026) hat sich viel besser bei der Typinferenz verbessert, obwohl du immer noch Typen aus deinem Schema für volle Typsicherheit generieren musst.
Supabase APIs
Supabase generiert eine REST API über PostgREST und bietet eine JavaScript-Client-Bibliothek, die sich eher wie ein ORM anfühlt:
import { createClient } from '@supabase/supabase-js';
const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY);
const { data: articles, error } = await supabase
.from('articles')
.select('*, author:profiles(name, avatar_url)')
.eq('status', 'published')
.order('published_at', { ascending: false })
.limit(10);
Supabase bietet GraphQL nicht von Haus aus an. Sie hatten pg_graphql für eine Weile, und es ist immer noch als Erweiterung verfügbar, aber das primäre DX ist ihr JS-Client und die REST API. Ehrlich gesagt? Ich vermisse GraphQL nicht, wenn ich Supabase nutze. Die select-Syntax mit Relationship-Joining deckt 95% der Anwendungsfälle ab.
Ein Bereich, wo Supabase voraus ist: Echtzeit-Abos über WebSockets und Edge Functions für serverseitige Logik. Directus hat Flows (ihre Automatisierungs-Engine), aber es ist nicht dasselbe wie eine vollständige serverlose Funktions-Laufzeit.

Content-Management-Erfahrung
Das ist, wo Directus absolut dominiert. Es ist nicht mal nah.
Die Admin-App von Directus ist für Content-Teams konzipiert. Du erhältst:
- Custom Layouts: Kanban-Boards, Kalender, Karten, Split-Views für Collection-Browsing
- WYSIWYG und Block-Editoren: Der Block-Editor in Directus 11 ist wirklich gut
- Übersetzungsunterstützung: Integriertes i18n mit nebeneinander liegenden Übersetzungsschnittstellen
- Revisions-Historie: Volle Content-Versionierung mit Diff-Ansichten
- Live-Vorschau: Konfiguriere Vorschau-URLs, damit Editoren Änderungen vor der Veröffentlichung sehen können
- Granulare Berechtigungen: Rollenbasierter Zugriff bis zu einzelnen Feldern
- Custom Dashboards: Analytics und Übersichtspanels für Content-Teams
Supabase's Tabellen-Editor ist... ein Tabellen-Editor. Es ist großartig für Entwickler, die eine GUI für ihre Datenbank möchten. Es ist schrecklich für ein Marketing-Team, das einen Homepage-Hero-Bereich aktualisieren muss. Wenn du eine Content-getriebene Website baust und deine Editoren werden das Backend direkt anfassen, gewinnt Directus automatisch.
Ich habe Teams gesehen, die versuchen, ein Custom-Admin-UI auf Supabase für Content-Bearbeitung zu bauen. Es funktioniert, aber du baust im Grunde ein CMS von Grund auf neu. Das sind Monate Arbeit, die Directus dir am ersten Tag gibt.
Wenn du nach einem ordentlichen Headless-CMS-Setup für deine Website suchst, arbeitet unser Team regelmäßig mit Directus in Headless-CMS-Projekten -- es ist eine unserer Hauptempfehlungen für Content-schwere Websites.
Authentifizierung und Autorisierung
Supabase Auth
Supabase Auth ist ein vollständig ausgestattetes Authentifizierungssystem. Email/Passwort, Magic Links, OAuth (Google, GitHub, Apple, etc.), Phone/SMS und SAML SSO sind alle integriert. Es integriert sich direkt mit PostgreSQL's Row Level Security, was bedeutet, dass deine Auth-Regeln in der Datenbank selbst leben.
-- Erlaube Benutzern nur ihr eigenes Profil zu sehen
create policy "Users can view own profile"
on profiles for select
using (auth.uid() = id);
-- Erlaube Benutzern, ihr eigenes Profil zu aktualisieren
create policy "Users can update own profile"
on profiles for update
using (auth.uid() = id);
Dieses Modell ist elegant, wenn du es verstanden hast, aber RLS-Richtlinien können schnell komplex werden. Herauszufinden, warum eine Abfrage leere Ergebnisse zurückgibt, weil eine Richtlinie fehlt, ist einer dieser Freuden, die du lernen musst zu akzeptieren.
Directus Auth
Directus verwaltet die Authentifizierung für seine eigenen Admin-Benutzer und unterstützt auch externes SSO über OpenID Connect, SAML, LDAP und OAuth2. Für Front-End-App-Benutzer würdest du typischerweise das Benutzer-System von Directus mit benutzerdefinierten Rollen verwenden.
Das Berechtigungsmodell in Directus ist GUI-getrieben. Du erstellst Rollen, dann konfigurierst du für jede Rolle CRUD-Berechtigungen pro Collection, optional mit Feld-Level- und Item-Level-Regeln. Es ist visueller und möglicherweise einfacher zu verstehen als RLS-Richtlinien, aber weniger flexibel für komplexe Anwendungslogik.
Für Anwendungen, bei denen End-User-Auth das primäre Anliegen ist (denk an SaaS-Apps), ist Supabase's Auth-System deutlich ausgereifter. Für die Verwaltung des Content-Team-Zugriffs ist das Rollensystem von Directus besser geeignet.
Echtzeit-Funktionen
Supabase's Echtzeit-Engine ist produktionsreif und verwaltet Präsenz, Broadcast und Datenbankänderungs-Listener:
const channel = supabase
.channel('articles')
.on('postgres_changes', {
event: 'INSERT',
schema: 'public',
table: 'articles',
}, (payload) => {
console.log('New article:', payload.new);
})
.subscribe();
Das ist wirklich nützlich für Chat-Apps, Collaborations-Tools, Live-Dashboards und Benachrichtigungssysteme.
Directus hat WebSocket-Unterstützung hinzugefügt und hat Echtzeit-Abos über ihren GraphQL-Subscription-Endpoint. Es funktioniert, aber es ist nicht auf dem gleichen Niveau der Reife. Directus Realtime ist gut für "benachrichtige mich, wenn Inhalte sich ändern" Szenarien, aber ist nicht für hochfrequente Collaborations-Anwendungen gebaut.
Self-Hosting und Infrastruktur
Beide Tools sind Open Source und können selbst gehostet werden.
Directus ist eine Node.js-Anwendung, die als npm-Paket und Docker-Image verteilt wird. Self-Hosting ist unkompliziert -- verweise es auf deine Datenbank, konfiguriere Umgebungsvariablen, und du lässt es laufen. Ich habe es auf Railway, Fly.io, AWS ECS und einfachen VPS-Instanzen ohne Probleme bereitgestellt.
Supabase Self-Hosting ist komplexer. Der vollständige Stack umfasst PostgreSQL, PostgREST, GoTrue (Auth), Realtime, Storage, Kong (API Gateway) und das Studio Dashboard. Ihr Docker Compose-Setup funktioniert für die Entwicklung, aber Self-Hosting in der Produktion erfordert mehr Betriebskenntnisse. Die meisten Teams entscheiden sich für Supabase's gehostete Plattform und sparen sich den operativen Overhead.
| Aspekt | Directus Self-Hosted | Supabase Self-Hosted |
|---|---|---|
| Komplexität | Niedrig-mittel (einzelne Node.js-App + DB) | Hoch (7+ Services) |
| Docker-Unterstützung | Offizielles Image, einfach | Docker Compose, komplex |
| Min. Ressourcen | 1 vCPU, 1GB RAM | 4 vCPU, 8GB RAM (alle Services) |
| Community-Guides | Umfangreich | Wachsend aber weniger ausgereift |
| Verwaltete Alternative | Directus Cloud | Supabase Platform |
Preisübersicht 2026
Lass uns über Geld sprechen. Das sind aktuelle veröffentlichte Preise ab Anfang 2026.
Directus Cloud
| Plan | Preis | Enthält |
|---|---|---|
| Community (self-hosted) | Kostenlos | Alles, selbst verwaltet |
| Standard | $99/Monat | 1 Projekt, 100K API-Anfragen, 5GB Assets |
| Professional | $399/Monat | Custom Domain, mehr Ressourcen, Priority Support |
| Enterprise | Benutzerdefiniert | SSO, SLA, dedizierte Infra |
Supabase Platform
| Plan | Preis | Enthält |
|---|---|---|
| Free | $0 | 500MB DB, 1GB Storage, 50K Auth-Benutzer, 500K Edge Function-Aufrufe |
| Pro | $25/Monat | 8GB DB, 100GB Storage, 100K Auth-Benutzer, 2M Edge Function-Aufrufe |
| Team | $599/Monat | Priority Support, SOC2, tägliche Backups, 28-Tage-Log-Retention |
| Enterprise | Benutzerdefiniert | SLA, dedizierter Support, benutzerdefinierte Verträge |
Der Preisunterschied ist krass. Supabase's kostenloser Tarif ist wirklich nutzbar für Nebenprojekte und MVPs. Directus Cloud's Einstiegspunkt bei $99/Monat ist steil zum Experimentieren -- aber Self-Hosting von Directus auf einer $5/Monat VPS funktioniert perfekt für kleine Projekte.
Für ein Startup, das eine App baut, gibt Supabase's $25/Monat Pro-Plan dir viel. Für ein Unternehmen, das eine Content-schwere Website betreibt, könnte Directus self-hosted plus eine verwaltete PostgreSQL-Instanz $20-50/Monat insgesamt kosten.
Developer Experience
Ich baue viele Next.js-Projekte und Astro-Websites, also ist die Framework-Integration für mich wichtig.
Directus DX
- TypeScript SDK ist gut, verbessert sich mit jedem Release
- Schematypen können von deiner Instanz generiert werden
- Extensions-System für custom Endpoints, Hooks, Panels und Interfaces
- Flows (visuelle Automatisierung) können einfache Backend-Logik ersetzen
- Die Admin-App ist mit custom Modulen und Layouts anpassbar
- Bildtransformationen integriert in die Asset-Delivery-API
Supabase DX
- TypeScript-Typen automatisch aus deinem Schema generiert (
supabase gen types typescript) - Lokale Entwicklung mit
supabase start(lässt alles in Docker laufen) - Edge Functions (Deno-basiert) für serverseitige Logik
- Integrierte Vektorsuche mit pgvector für AI-Funktionen
- CLI-getriebener Workflow mit Migrations, Branching und CI/CD
- Vercel/Netlify-Integration für Env-Variable-Syncing
Beide haben solide Dokumentation. Supabase's Docs sind besonders gut organisiert mit Framework-spezifischen Guides (Next.js, Nuxt, SvelteKit, Flutter, etc.). Directus's Docs sind gründlich, hinken aber manchmal hinter den neuesten SDK-Änderungen hinterher.
Wann man jedes nutzen sollte
Nach umfangreicher Arbeit mit beiden, hier ist mein Entscheidungsrahmen:
Wähle Directus wenn:
- Content-Editoren brauchen eine polierte Admin-Oberfläche
- Du baust eine Marketing-Website, einen Blog oder ein Editorial-Plattform
- Du Multi-Sprachen-Content-Management brauchst
- Deine vorhandene Datenbank braucht eine Management-UI
- Content-Workflows (Drafts, Reviews, Approvals) sind wichtig
- Du MySQL, MariaDB oder eine andere Non-PostgreSQL-Datenbank verwenden möchtest
Wähle Supabase wenn:
- Du eine Benutzer-facing Anwendung baust (SaaS, Marketplace, Social)
- Du Authentifizierung und Benutzerverwaltung brauchst
- Echtzeit-Funktionen sind eine Kernforderung
- Du Edge Functions für serverseitige Logik möchtest
- AI/Vektorsuche ist Teil deiner Roadmap
- Du den schnellsten Weg von der Idee zur bereitgestellten App möchtest
Nutze beide wenn:
Das ist nicht verrückt. Ich habe Systeme gebaut, bei denen Supabase User-Auth, App-Daten und Echtzeit-Funktionen verwaltet, während Directus die Marketing-Website-Inhalte, Blogs und Dokumentation verwaltet. Sie können die gleiche PostgreSQL-Instanz teilen oder separate Datenbanken nutzen. Die Separation of Concerns macht die Architektur tatsächlich sauberer.
Wenn du versucht, die richtige Backend-Architektur für dein Projekt herauszufinden, das ist buchstäblich das, was unser Team macht -- kontaktiere uns gerne und sprich über deine spezifische Situation.
FAQ
Kann Directus Supabase als Backend für Web-Apps ersetzen? Teilweise. Directus gibt dir eine Datenbank-API und Benutzerverwaltung, also kann es für einfache CRUD-Apps funktionieren. Aber du wirst Supabase's eingebautes Auth-System, Echtzeit-Abos, Edge Functions und File-Storage-Service vermissen. Directus ist für Content-Management optimiert, nicht für Application-Backend-Workloads. Für eine einfache App mit meist Content-Operationen funktioniert Directus. Für alles mit User-Auth-Flows, Echtzeit-Funktionen oder komplexer serverseitiger Logik wirst du Supabase oder ein ähnliches BaaS möchten.
Ist Supabase gut als Headless CMS? Es kann als einer funktionieren, aber es erfordert erhebliche benutzerdefinierte Arbeit. Du müsstest eine eigene Admin-Oberfläche für Content-Editoren bauen, Bildtransformationen separat verwalten, Content-Versionierung manuell implementieren und ein eigenes Vorschau-System erstellen. Teams haben das mit Tools wie Supabase + Custom React Admin Panels gemacht, aber du erfindest das neu, was Directus (oder Strapi, oder Payload) dir von Anfang an gibt. Wenn Content-Management dein primäres Anliegen ist, nutze ein dediziertes Headless CMS.
Welches ist besser für eine Next.js-Anwendung?
Beide integrieren sich gut mit Next.js. Supabase hat offizielle Next.js-Helfer (@supabase/ssr), die Auth-Cookie-Management in Server-Components und Middleware verwalten. Directus funktioniert auch großartig mit Next.js -- du holst Daten über das SDK in Server-Components und nutzt ISR oder SSG für Performance. Für eine Marketing-Website mit Blog würde ich Next.js mit Directus paaren. Für eine SaaS-App mit Benutzerkonten, Next.js mit Supabase. Das behandeln wir tiefgreifend in unserer Next.js Development Practice.
Kann ich sowohl Directus als auch Supabase kostenlos self-hosten? Ja. Beide sind Open Source mit permissiven Lizenzen (Directus nutzt eine BSL 1.1 Lizenz, die nach 3 Jahren in Apache 2.0 umgewandelt wird; Supabase nutzt Apache 2.0 für die meisten Komponenten). Directus ist einfacher zu self-hosten -- es ist eine einzelne Node.js-App. Supabase Self-Hosting erfordert das Laufen von mehreren Services (PostgreSQL, PostgREST, GoTrue, Realtime, Storage, Kong). Für Supabase nutzen die meisten Entwickler die gehostete Plattform und sparen sich den operativen Overhead.
Wie verwalten Directus und Supabase Dateispeicher und Medien? Directus hat ein integriertes Asset-Management-System mit On-the-Fly-Bildtransformationen (Größenänderung, Zuschnitt, Format-Konvertierung). Du lädst Dateien über die Admin-UI oder API hoch und fragst transformierte Versionen via URL-Parameter an. Supabase Storage ist ein S3-kompatibler Dateispeicher-Service mit RLS-basierter Zugriffskontrolle. Er verwaltet Uploads und Downloads gut, aber hat keine integrierte Bildtransformation -- du würdest es mit einem Service wie Imgix, Cloudinary oder Supabase's eigenem Bildtransformation (das 2025 als Beta gestartet ist) paaren.
Was ist mit Performance und Skalierbarkeit? Supabase's Infrastruktur ist auf AWS aufgebaut mit Connection-Pooling über Supavisor und kann erheblichen Traffic verwalten. Ihr Pro-Plan Datenbanken können bis zu 64GB RAM Instanzen hochgefahren werden. Directus-Performance hängt stark von deinem Hosting-Setup und der Datenbank ab. Mit ordentlichem Caching (Redis, CDN) verwaltet Directus hohen Traffic gut, aber du bist verantwortlich für die Infrastruktur. In Benchmarks können beide Tausende Anfragen pro Sekunde mit angemessenen Ressourcen verwalten. Das Bottleneck ist fast immer die Datenbank, nicht die API-Schicht.
Ist Directus oder Supabase besser für ein Team mit nicht-technischen Mitgliedern? Directus, ohne Frage. Seine Admin-Oberfläche ist für Nicht-Entwickler konzipiert. Du kannst custom Dashboards erstellen, Content-Genehmigungswerkflows einrichten und Zugriff nach Rolle begrenzen -- alles ohne Code zu schreiben. Supabase's Dashboard ist ein Entwickler-Tool. Dein Marketing-Team wird nicht SQL schreiben, um eine Landing Page zu aktualisieren. Wenn nicht-technische Team-Mitglieder Daten verwalten müssen, ist Directus's UI die richtige Wahl.
Kann ich später von einem zum anderen migrieren? Da beide PostgreSQL-kompatibel sind (und Directus zusätzliche Datenbanken unterstützt), ist die Migration machbar, aber nicht trivial. Wenn du auf Directus mit PostgreSQL bist und Supabase hinzufügen möchtest, könntest du Supabase auf deine vorhandene Datenbank verweisen oder die Daten migrieren. Die Directus-Systemtabellen und Supabase's Auth-Schema müssten koexistieren oder getrennt werden. In die andere Richtung gehen -- Directus auf eine Supabase-Datenbank hinzufügen -- ist tatsächlich ein gut dokumentiertes Muster. Directus kann vorhandene Tabellen introspektieren und deine Management-Layer erstellen, ohne dein Datenschema zu ändern.