Supabase-App auf ICP migrieren
Eine Supabase-App auf ICP migrieren heißt: Postgres, Supabase Auth, Storage und
Edge Functions auf den Internet Computer umziehen. Der Mingle Cloud
Migrator macht das automatisch — er liest das Repository, wandelt jede
Postgres-Tabelle in Stable-Memory-Strukturen (StableBTreeMap),
ersetzt Supabase Auth durch Internet Identity und verschiebt Storage-Buckets in
Asset Canister. Das Ergebnis ist dieselbe App, 1:1, vollständig on-chain und
ohne Hyperscaler-Abhängigkeit.
Supabase → Internet Computer: das Mapping
| Supabase-Komponente | ICP-Äquivalent |
|---|---|
| Postgres-Datenbank | Stable Vars + StableBTreeMap in Stable Memory |
| Supabase Auth (GoTrue, JWT) | Internet Identity (Caller-Principal) |
| Row Level Security | Principal-basierte Zugriffsprüfungen im Canister |
| Storage (Buckets) | Asset Canister / Stable-Blob-Storage |
| PostgREST-API / Edge Functions | query- / update-Methoden eines Motoko-Actors |
| Realtime / Streaming | Managed Sidecar, der signiert mit dem Canister spricht |
| Cron (pg_cron) | Canister-Timer (setTimer / recurringTimer) |
So läuft die Migration, Schritt für Schritt
- Repository verbinden. GitHub-Repo verbinden oder ZIP hochladen. Der Migrator analysiert Code, Supabase-Client-Aufrufe und das Datenbankschema.
- Schema prüfen. Das Postgres-Schema wird inferiert — auch ohne committete DDL, per OpenAPI-Introspektion der Supabase-Instanz — und auf Stable-Memory-Strukturen gemappt. Du bestätigst das Mapping vor der Migration.
- Daten exportieren. Postgres-Daten als JSON/CSV hochladen. Pro Feld entscheidest du: verschlüsselt (AES-256), öffentlich oder überspringen.
- Auth umstellen. Supabase Auth wird durch Internet Identity ersetzt; RLS-Regeln werden zu Principal-Checks im Canister.
- Storage migrieren. Buckets werden zu Asset Canistern, Datei-URLs im Frontend automatisch umgeschrieben.
- Migrieren & verifizieren. Der Migrator generiert Motoko-Canister und verifiziert jede Route, jede Query und jeden Auth-Flow gegen das Original — 1:1-Parität oder es shippt nicht.
- Deployen. Das fertige dfx-Projekt geht auf den Internet Computer, deine Domain wird verbunden. Danach: Supabase abschalten — die App läuft weiter.
Abgrenzung: Werkzeuge wie pgloader oder DBConvert migrieren nur die Datenbank von einem SQL-System zum anderen. Der Mingle Cloud Migrator migriert die komplette App on-chain — Backend, Daten, Auth, Dateien und Frontend — als reviewbare Motoko-Canister.
Häufige Fragen
- Kann man eine Supabase-App vollständig auf ICP migrieren?
- Ja — Datenbank, Auth, Storage, API und Frontend werden 1:1 als Motoko-Canister neu aufgebaut. Was nicht canister-nativ laufen kann (z. B. Realtime-Streaming), läuft als Managed Sidecar weiter, statt wegzufallen.
- Was wird aus der Postgres-Datenbank?
- Jede Tabelle wird eine
StableBTreeMapin Stable Memory — upgradesicher, ohne separaten Datenbankserver, standardmäßig AES-256-verschlüsselt. - Was ersetzt Supabase Auth?
- Internet Identity. Der Canister authentifiziert Aufrufer über ihr Principal; RLS wird zu Zugriffsprüfungen im Canister-Code.
- Wie lange dauert das?
- Eine produktive Full-Stack-App wurde in rund 20 Minuten Ende-zu-Ende migriert — inklusive Daten und Bildern, mit anschließendem Abschalten der Quelldatenbank.