Supabase Cloud zu Self-Hosted migrieren: vollständiger Ablauf
Timo Wevelsiep•Aktualisiert: 25.08.2026Hinweis zum Inhalt: Versionen, Befehle und Preise können sich ändern. Bitte prüfen Sie kritische Schritte vor dem produktiven Einsatz eigenständig. Dieser Leitfaden ersetzt keine individuelle Beratung.
Sie möchten den Umzug nicht als einmaligen Datenbankimport riskieren? WZ-IT führt die Supabase-Migration ab 3.490 € mit Assessment, Testmigration, Cutover und dokumentiertem Rückfallpunkt durch.
Eine Migration von Supabase Cloud zu Self-Hosted Supabase besteht aus mehreren miteinander verbundenen Umzügen. PostgreSQL ist der Kern, aber Auth, Storage, Functions, Secrets, Realtime und die Anwendungskonfiguration müssen ebenfalls auf das Ziel zeigen.
Die offizielle Supabase-Anleitung beschreibt den Datenbanktransfer. Sie weist ausdrücklich darauf hin, dass Storage-Objekte und Edge Functions nicht durch diesen Datenbankprozess migriert werden. Für eine produktive Anwendung ist deshalb ein vollständigeres Runbook erforderlich.
1. Bestand vor dem Umzug erfassen
Vor dem ersten Export sollten mindestens diese Informationen vorliegen:
- PostgreSQL-Version, Datenbankgröße und Änderungsrate
- aktive Extensions und eigene Rollen
- Schemas, Views, Functions, Trigger und Cronjobs
- Auth-Provider, MFA, SMTP und Redirect-URLs
- Nutzerzahl und aktive Sessions
- Storage-Buckets, Objektzahl, Gesamtvolumen und Policies
- Edge Functions, Secrets, Webhooks und externe APIs
- Realtime-, Broadcast- und Presence-Nutzung
- Pooling, direkte Datenbankverbindungen und Domains
- Frontends, Mobile Apps, Server und Automationen
- gewünschtes RPO, RTO und Wartungsfenster
Zusätzlich gehört eine Feature-Matrix Cloud gegen Self-Hosted in das Assessment. Branching, Managed Backups/PITR und bestimmte Plattformfunktionen sind auf dem Ziel nicht automatisch verfügbar.
2. Zielumgebung kompatibel vorbereiten
Der Ziel-Stack sollte vor dem Import vollständig laufen. Dazu gehören:
- versionierter Supabase-Self-Hosted-Stack
- kompatible PostgreSQL-Version und Extensions
- TLS, Firewall und geschützter Studio-Zugriff
- SMTP und Auth-Provider
- Storage-Backend und ausreichende Kapazität
- Backup für PostgreSQL, Storage, Konfiguration und Functions
- Monitoring, Logs und Alarmierung
- Domains, Pooling und Netzwerkzugänge
Supabase weist darauf hin, dass Cloud und Self-Hosted unterschiedliche PostgreSQL- oder Dienstversionen verwenden können. Eine Testwiederherstellung deckt inkompatible Settings, Tabellen oder Extensions auf, bevor das Produktionsfenster beginnt.
3. Rollen, Schema und Daten exportieren
Die offizielle Restore-Anleitung verwendet drei getrennte Exporte:
supabase db dump --db-url "$DATABASE_URL" -f roles.sql --role-only
supabase db dump --db-url "$DATABASE_URL" -f schema.sql
supabase db dump --db-url "$DATABASE_URL" -f data.sql --use-copy --data-only
Die Supabase CLI nutzt intern pg_dump, filtert aber reservierte Rollen und interne Schemas passend zur Plattform. Ein ungefilterter direkter pg_dump kann beim Restore an Eigentümern oder Plattformrollen scheitern.
Eigene Login-Rollen benötigen nach dem Restore neue Passwörter, weil die Dumps diese nicht enthalten.
4. Testrestore durchführen
Rollen, Schema und Daten werden in der vorgesehenen Reihenfolge wiederhergestellt. Der Testlauf sollte nicht nur mit „psql ohne Fehler“ enden. Zu prüfen sind:
- Tabellen- und Zeilenzahlen
- Constraints, Indizes und Sequenzen
- Views, Trigger und Datenbankfunktionen
- Extensions und Versionen
- Eigentümer und Grants
- RLS-Policies
- zentrale Abfragen und Performance
- Migrationshistorie der Anwendung
Abweichungen gehören in ein Protokoll. Der Testlauf liefert außerdem eine realistische Transferdauer für das Wartungsfenster.
5. Auth separat behandeln
Auth-Daten liegen teilweise in PostgreSQL und können mit dem Datenbestand übernommen werden. Die Umgebung benötigt trotzdem neue oder bestätigte Konfiguration:
- Site URL und erlaubte Redirects
- OAuth-Provider und deren Callback-URLs
- SMTP, Absender und Templates
- JWT-Schlüssel und Token-Gültigkeit
- anonyme und öffentliche Anmeldung
- MFA und Captcha
Die offizielle Dokumentation weist darauf hin, dass andere JWT-Secrets bestehende Tokens ungültig machen. In diesem Fall müssen Nutzer sich neu anmelden. OAuth-Konfigurationen in Google, Apple, GitHub oder anderen Providern müssen auf den neuen Hostnamen zeigen.
6. Storage-Objekte migrieren
Ein Datenbankdump überträgt Tabellen und Storage-Metadaten, nicht die Dateiinhalte. Der Storage-Umzug benötigt einen eigenen Prozess:
- Buckets, Policies und Metadaten erfassen.
- Objekte vollständig aus der Quelle lesen.
- Dateien in das Ziel-Backend übertragen.
- Pfade, Größe, Prüfsummen und Objektzahl vergleichen.
- öffentliche und signierte Zugriffswege testen.
Bei großen Buckets kann der Storage-Transfer länger dauern als der Datenbankumzug. Eine inkrementelle Strategie muss dann gesondert geplant werden.
7. Functions, Secrets und Integrationen neu bereitstellen
Edge Functions werden als Quellcode und Deploymentartefakte behandelt. Zu migrieren sind:
- Function-Code und Imports
- Umgebungsvariablen und Secrets
- Webhook-Endpunkte
- Cron- oder Queue-Auslöser
- JWT-Prüfung und Service-Role-Nutzung
- externe API-Zugänge
Self-hosted Functions laufen auf der eigenen Deno-Runtime und nicht automatisch über das globale Edge-Netz der Cloud. Latenz, Skalierung und Timeouts müssen passend zum Ziel getestet werden.
8. Anwendung gegen das Ziel testen
Vor dem Cutover wird eine Staging-Version der Anwendung mit dem Ziel verbunden. Die Abnahme umfasst mindestens:
- Registrierung, Login, Logout und Passwort-Reset
- OAuth und E-Mail-Flows
- Lesen, Schreiben, Ändern und Löschen je Rolle
- RLS-Negativtests zwischen Nutzern und Mandanten
- Upload, Download und signierte Storage-URLs
- Realtime-Verbindungen
- Functions und Webhooks
- direkte Server- und Pooling-Verbindungen
Erst diese Tests zeigen, ob das Backend als Gesamtsystem funktioniert.
9. Cutover und Rückfallweg
Der finale Ablauf wird aus dem Testlauf abgeleitet:
- Änderungssperre oder kontrollierte Schreibpause aktivieren.
- finalen Daten- und Storage-Transfer durchführen.
- Mengen und kritische Daten prüfen.
- Secrets, URLs und Anwendung auf das Ziel umstellen.
- Smoke Tests und fachliche Abnahme durchführen.
- Quelle für das vereinbarte Rückfallfenster unverändert halten.
Ein Rückfall ist nur möglich, wenn geklärt ist, wie neue Schreibvorgänge nach der Umschaltung behandelt werden. Bei komplexen Anwendungen kann dafür eine inkrementelle Synchronisation nötig sein, die nicht zum Standardumfang gehört.
Nach der Migration beginnt der Betrieb
Self-Hosting verlagert die Verantwortung. Direkt nach dem Cutover sollten folgende Punkte aktiv sein:
- Monitoring und Alarmierung
- Datenbank- und Storage-Backups
- dokumentierter Restore
- Update- und Patchprozess
- Kapazitätskontrolle
- Incident-Zuständigkeit
- regelmäßige RLS- und Konfigurationsprüfung
WZ-IT kann diese Aufgaben nach der Migration als Managed Supabase Service übernehmen.
Quellen
Lieber betreiben lassen?
Sie möchten Supabase nicht selbst betreiben? WZ-IT übernimmt Einrichtung, Betrieb und Wartung - datenschutzorientiert aus Deutschland.
Anfrage
Supabase migrieren, absichern oder betreiben
Wir migrieren Supabase-Projekte und bestehende Backends wie Firebase, Lovable, PostgreSQL, MySQL oder Auth0, bauen die Zielumgebung auf und übernehmen auf Wunsch den laufenden Betrieb.
Häufig gestellte Fragen
Antworten auf die wichtigsten Fragen
Die Kernkomponenten und Anwendungsdaten können migriert werden. Cloud-spezifische Plattformfunktionen wie Branching, Managed Backups oder Plattformmetriken müssen jedoch bewertet und gegebenenfalls ersetzt werden.
Nicht zwingend. Die offizielle Restore-Dokumentation weist darauf hin, dass sich JWT-Schlüssel unterscheiden können. Bestehende Tokens werden dann ungültig und Nutzer müssen sich erneut anmelden.
Nein. Der Dump enthält Storage-Metadaten, aber nicht die tatsächlichen Objekte. Dateien müssen getrennt übertragen und anschließend mit Buckets und Metadaten abgeglichen werden.
Das hängt von Datenvolumen, Schreiblast, Transferweg und Anwendung ab. Nach einer Testmigration lässt sich ein belastbares Wartungsfenster mit finalem Sync und Rückfallpunkt planen.
Eine Supabase-Migration beginnt bei 3.490 Euro netto. Das ist ein Einstiegspreis; Umfang und verbindlicher Preis werden nach der technischen Einordnung von Quelle, Ziel und Anforderungen angeboten.
Mehr zu Supabase
- Was ist Supabase?
- Supabase Cloud vs. Self-Hosted
- Supabase Self-Hosting: Vorteile & Nachteile
- Supabase-Kosten: Cloud vs. Self-Hosted
- Supabase Cloud zu Self-Hosted migrieren
- Supabase-Projekt, Region oder Organisation migrieren
- PostgreSQL zu Supabase migrieren
- AWS RDS und Aurora zu Supabase migrieren
- Heroku Postgres zu Supabase migrieren
- Neon und Vercel Postgres zu Supabase migrieren
- MySQL und MariaDB zu Supabase migrieren
- Microsoft SQL Server und Azure SQL zu Supabase migrieren
- Firebase zu Supabase migrieren
- Lovable Cloud zu Supabase migrieren
- Auth0 zu Supabase Auth migrieren
- Supabase-Migrationscheckliste
- Supabase vollständig sichern
- Supabase Self-Hosted aktualisieren
- Supabase RLS prüfen
- Supabase auf Hetzner betreiben
- Supabase mit Coolify installieren





