Supabase selbst hosten: die eigene Backend-Plattform mit Docker
Postgres, fertige APIs, Login und Datei-Speicher — komplett auf eigener Hardware: Supabase mit Docker installieren, Cloud- und Self-Hosted-Variante verstehen und die ersten Schritte im Studio gehen.
Supabase bündelt alles, was moderne Apps im Hintergrund brauchen — Datenbank, Login, APIs, Datei-Speicher — zu einer Open-Source-Plattform. Und das Beste: Du kannst sie komplett auf deiner eigenen Hardware betreiben. Diese Anleitung zeigt die lokale Installation mit Docker nach der aktuellen offiziellen Methode, erklärt den Unterschied zur Cloud-Variante und führt durch die ersten Schritte im Studio.
Was ist Supabase?
Supabase ist eine Open-Source-Backend-Plattform («Backend as a Service»). Im Kern steckt eine vollwertige PostgreSQL-Datenbank — darum herum liefert Supabase fertige Bausteine, die man sonst mühsam selbst bauen müsste: eine automatische REST-API (jede Tabelle ist sofort per API abfragbar), Authentifizierung mit E-Mail-Login und OAuth-Anbietern, Realtime (Änderungen an Daten live an Clients pushen), Storage für Dateien und Edge Functions für eigene Server-Logik.
Bedient wird alles über das Studio — eine Web-Oberfläche mit Tabellen-Editor, SQL-Editor und Nutzerverwaltung. Wer schon einmal Firebase benutzt hat, findet sich sofort zurecht; der grosse Unterschied: Supabase setzt auf offene Standards (SQL statt proprietärer API) und lässt sich vollständig selbst hosten.
Cloud oder selbst gehostet?
Supabase gibt es in zwei Formen: als verwaltete Cloud (supabase.com, mit Gratis-Stufe) und als Self-Hosted-Variante, die per Docker auf eigener Hardware läuft. Beide nutzen denselben Kern — der Unterschied liegt in Verantwortung und Funktionsumfang.
Die Cloud nimmt dir den Betrieb ab: automatische Backups mit Punkt-in-Zeit-Wiederherstellung, verwaltete Updates, Skalierung, Monitoring und Support. Dazu kommen Plattform-Funktionen, die es nur dort gibt — etwa mehrere Projekte und Organisationen im Studio, Branching für Vorschau-Umgebungen und erweiterte Metriken.
Die selbst gehostete Variante entspricht einem einzelnen Projekt und macht dich zum Betreiber: Server, Sicherheits-Updates, Datenbank-Pflege, Hochverfügbarkeit und vor allem Backups liegen in deiner Verantwortung. Support gibt es aus der Community statt per Vertrag. Dafür bekommst du volle Datenhoheit: Alle Daten bleiben auf deiner Hardware, und die Self-Hosted-Variante sendet keinerlei Telemetrie nach Hause. Einmal eingerichtet, läuft der Stack auch ohne Internet-Zugang — für abgeschottete Netze, wie sie in der OT üblich sind, ein echtes Argument.
Faustregel: Schneller Start ohne Betriebsaufwand und mit Backups ab Werk → Cloud. Volle Datenhoheit, lokales Netz ohne Cloud-Abhängigkeit, Lern- und Bastelprojekte → selbst hosten.
Voraussetzungen
Du brauchst einen Linux-Server (oder eine VM) mit Docker Engine und Docker Compose v2 sowie Git. Die offiziellen Mindestanforderungen für den kompletten Stack: 4 GB RAM und 2 CPU-Kerne (empfohlen 8 GB und 4 Kerne) sowie rund 40 GB SSD-Speicher. Der Stack startet elf Container — neben der Postgres-Datenbank unter anderem das Studio, das API-Gateway Kong, den Auth-Dienst, PostgREST für die REST-API, Realtime, Storage und den Verbindungs-Pooler Supavisor.
Installation mit Docker
Die Installation folgt der offiziellen Self-Hosting-Anleitung: Repository holen, ein eigenes Projekt-Verzeichnis anlegen, Konfiguration kopieren — dann Schlüssel erzeugen und starten.
1# Code holen (nur die oberste Ebene, spart Zeit und Platz)2git clone --depth 1 https://github.com/supabase/supabase34# Eigenes Projekt-Verzeichnis anlegen5mkdir supabase-project67# Compose-Dateien und Beispiel-Konfiguration hineinkopieren8cp -rf supabase/docker/* supabase-project9cp supabase/docker/.env.example supabase-project/.env1011cd supabase-project
Bevor der Stack das erste Mal startet, müssen die Standard-Passwörter und -Schlüssel in der .env ersetzt werden — die mitgelieferten Beispielwerte sind öffentlich bekannt und damit unsicher. Dafür bringt Supabase zwei Skripte mit, die alles Nötige erzeugen (Datenbank-Passwort, JWT-Secret, API-Schlüssel, Dashboard-Passwort):
1# Alle Secrets erzeugen (Passwörter, JWT, API-Keys)2sh utils/generate-keys.sh34# Neues Schlüsselpaar für die Auth-API erzeugen (empfohlener zweiter Schritt)5sh utils/add-new-auth-keys.sh
Die .env enthält danach alle Zugangsdaten deiner Instanz — behandle sie wie einen Schlüsselbund: nicht ins Git einchecken, Zugriff beschränken, und das automatisch erzeugte Dashboard-Passwort direkt in den Passwort-Manager übernehmen.
Jetzt die Container-Images laden und den Stack starten. Das offizielle Start-Skript wartet dabei, bis alle Dienste ihre Gesundheitsprüfung bestanden haben:
1# Images laden (einmalig, mehrere GB)2docker compose pull34# Stack starten und auf «healthy» warten5sh run.sh start67# Status prüfen — alle Container sollten «healthy» melden8docker compose ps
Nach etwa einer Minute ist alles bereit. Das Studio ist über das API-Gateway auf Port 8000 erreichbar — im Browser also http://localhost:8000 (bzw. die IP deines Servers). Beim Aufruf fragt der Browser nach Benutzername und Passwort: Das sind die Werte aus DASHBOARD_USERNAME und DASHBOARD_PASSWORD in deiner .env.
Übrigens: Für schnelle Tests auf Debian-, Ubuntu- oder RHEL-Systemen gibt es auch ein offizielles Setup-Skript, das alle diese Schritte inklusive Schlüssel-Erzeugung automatisch erledigt: curl -fsSL https://supabase.link/setup.sh | sh
Erste Schritte im Studio
Nach dem Login begrüsst dich die Projekt-Übersicht. Oben findest du die Verbindungsdaten für Client-Bibliotheken und APIs; darunter meldet sich der Advisor — er prüft deine Datenbank laufend auf Sicherheits- und Performance-Probleme.
Der Table Editor ist das Herzstück für den Alltag: Tabellen anlegen, Spalten definieren, Daten ansehen und bearbeiten — wie in einer Tabellenkalkulation, aber direkt auf der Postgres-Datenbank. Hier eine Beispieltabelle mit IoT-Sensordaten:
Wer lieber direkt SQL schreibt, nimmt den SQL-Editor: Abfrage eintippen, mit Ctrl+Enter ausführen, Ergebnis erscheint darunter. Auswertungen, Schema-Änderungen, Funktionen — alles an einem Ort:
Unter Database verwaltest du das Schema im Überblick: Tabellen, Indizes, Erweiterungen, Rollen und Policies. Dazu kommen die Bereiche Authentication (Nutzerverwaltung für den eingebauten Login) und Storage (Datei-Ablagen mit Zugriffsregeln):
Absichern, bevor es ernst wird
Zwei Dinge solltest du vor echten Daten unbedingt angehen. Erstens: Row Level Security (RLS). Neue Tabellen sind ohne RLS über die automatische REST-API für jeden lesbar, der den öffentlichen API-Schlüssel kennt — der Advisor warnt deshalb prominent davor (auf den Screenshots als «RLS disabled» sichtbar). Aktiviere RLS pro Tabelle und definiere Policies, wer was sehen darf.
Zweitens: Betrieb planen. Selbst gehostet heisst: Du bist die Backup-Strategie. Sichere die Datenbank regelmässig (zum Beispiel per pg_dump aus dem db-Container) und teste die Wiederherstellung. Updates erscheinen etwa monatlich als getestete Release-Pakete — ein Blick in den Changelog vor dem Aktualisieren lohnt sich, automatische Updates gibt es nicht.
Der Stack gehört nicht ungeschützt ins offene Internet: Studio-Zugang hinter VPN oder Reverse-Proxy mit TLS legen, Port 8000 nicht direkt freigeben und die Postgres-Ports nur im internen Netz erreichbar machen.
Fazit
Supabase selbst zu hosten bringt dir eine komplette Backend-Plattform ins eigene Netz: Postgres, fertige APIs, Login und Datei-Speicher — bedienbar über ein poliertes Studio, ohne Cloud-Zwang und ohne Telemetrie. Der Preis dafür ist Betriebsverantwortung: Secrets, Backups, Updates und Absicherung liegen bei dir. Wer das im Griff hat, bekommt eine der angenehmsten Arten, Anwendungen auf PostgreSQL zu bauen — von der Smart-Home-Datenbank bis zum Kunden-Portal.
// Teste dich
Über welchen Port erreichst du das Supabase Studio nach der Installation?
// Wie es weitergeht
MongoDB
Die bekannteste NoSQL-Dokumentendatenbank: speichert Daten als flexible JSON-artige Dokumente statt in starren Tabellen.
MariaDB
Der offene, kompatible Nachfolger von MySQL — eine bewährte relationale Datenbank für Web-Anwendungen und CMS.
PostgreSQL
Die leistungsfähigste Open-Source-Datenbank: relational, extrem zuverlässig und enorm erweiterbar — von JSONB bis Geodaten.



