SSD Nodes Learn Hosting plans →
Anleitungen Matt ConnorVon Matt Connor

Supabase kostenlos: Limits der Cloud vs. eigener VPS

Supabase bietet kostenlos 500 MB Datenbank und pausiert Projekte nach einer Woche Inaktivität. Vergleichen Sie Cloud-Limits mit dem eigenen VPS und dessen Aufwand.

Ist Supabase kostenlos?

Supabase ist auf zwei unterschiedliche Arten kostenlos. Diese beiden Angebote sind nicht identisch. Der gehostete Free-Tarif kostet kein Geld. In den Abrechnungsdokumenten von Supabase wird für kostenpflichtige Tarife eine hinterlegte Karte vorausgesetzt. Für den Free-Tarif wird eine solche Voraussetzung nicht genannt. Der Quellcode ist offen. Deshalb können Sie den gesamten Stack auf Ihrem eigenen VPS (virtual private server) ohne Lizenzkosten betreiben. Beim einen Angebot bezahlen Sie mit Limits. Beim anderen bezahlen Sie mit Arbeitsaufwand.

Am 12. Oktober 2026 führt supabase.com/pricing einen Free-Tarif mit 0.5 GB Datenbank-Speicher, 1 GB Datei-Speicher, 5 GB Egress und 50.000 monatlich aktiven Benutzern für bis zu zwei aktive Projekte auf. Auf derselben Seite steht der entscheidende Hinweis: "Free projects are paused after 1 week of inactivity". Prüfen Sie diese Werte erneut, bevor Sie Ihre Planung darauf ausrichten, da sich Preisübersichten ändern können.

Was der Free-Tarif tatsächlich bietet

DiagrammFree and Pro included quotas, checked 12 October 2026
Die Daten hinter diesem Diagramm
[
  {
    "plan": "Free",
    "db_gb": 0.5,
    "file_storage_gb": 1,
    "egress_gb": 5
  },
  {
    "plan": "Pro",
    "db_gb": 8,
    "file_storage_gb": 100,
    "egress_gb": 250
  }
]

MAU (monatlich aktive Benutzer) zählt die unterschiedlichen Benutzer, die innerhalb eines Abrechnungszeitraums ein beliebiges Auth-Ereignis auslösen. Supabase nennt beispielsweise eine Anmeldung, eine Token-Erneuerung und eine Abmeldung. Daher wird ein angemeldeter Benutzer auch dann gezählt, wenn seine Sitzung in diesem Monat still im Hintergrund erneuert wird und keine neue Anmeldung erfolgt. Jeder Benutzer wird pro Abrechnungszeitraum einmal gezählt. 50,000 Benutzer sind daher für alles, was Sie noch entwickeln, großzügig bemessen. Das Benutzerlimit ist fast nie das erste Limit, das erreicht wird. Zuerst gehen die 0.5 GB Postgres-Speicher oder die 5 GB ausgehender Datenverkehr zur Neige, sobald Sie Bilder oder Dateien aus Storage bereitstellen.

Zwei aktive Projekte sind das weniger offensichtliche Limit. Ein Produktionsprojekt und ein Staging-Projekt schöpfen den Free-Tarif bereits vollständig aus. Eine dritte Idee muss daher entweder warten oder sich eine Datenbank mit etwas teilen, das sie nicht mit anderen teilen sollte.

Warum die Pause wichtiger ist als das Speicherlimit

„Kostenlose Projekte werden nach 1 Woche Inaktivität pausiert“ – dieser Satz beendet die meisten Überlegungen zu kostenlosen Tarifen. Ein Projekt, das sieben Tage lang keine Anfragen erhält, verarbeitet keine Requests mehr. Eine Demo, die in einer README verlinkt ist, oder eine Staging-API, die Sie nur einmal im Monat aufrufen, ist genau dann nicht erreichbar, wenn die Person, der Sie den Link geschickt haben, darauf klickt. Sie stellen das Projekt über die Schaltfläche Resume project im Supabase-Dashboard wieder her. Das ist ein Jahr nach der Pause möglich. Die Wiederherstellung geht daher schnell, aber nur, wenn Sie die Pause bemerken. Supabase sendet etwa eine Woche vor der Pause eine Warnung per E-Mail. Das hilft nur, wenn jemand dieses Postfach liest.

Das ist der tatsächliche Preis des kostenlosen Hosted-Tarifs. Sie bezahlen nicht mit Geld. Sie bezahlen mit Verfügbarkeit und mit einem Limit, das Sie nur durch einen Tarifwechsel erhöhen können.

Was Pro und Team kosten, wenn Free nicht mehr ausreicht

DiagrammSupabase list price per plan, checked 12 October 2026
Die Daten hinter diesem Diagramm
[
  {
    "plan": "Free",
    "usd_per_month": 0
  },
  {
    "plan": "Pro",
    "usd_per_month": 25
  },
  {
    "plan": "Team",
    "usd_per_month": 599
  }
]

Pro beginnt bei $25 pro Monat und umfasst 8 GB Speicherplatz pro Projekt, 100 GB Dateispeicher und 250 GB ausgehenden Datenverkehr. Für darüber hinausgehende Mengen berechnet die Seite $0.125 pro GB Speicherplatz, $0.0213 pro GB Dateispeicher und $0.09 pro GB nicht gecachten ausgehenden Datenverkehr. Für gecachten ausgehenden Datenverkehr gilt ein eigenes Kontingent von 250 GB, danach fallen $0.03 pro GB an. Diese Preise gelten zum Stand vom 12. Oktober 2026. Pro deaktiviert außerdem die automatische Pause bei Inaktivität. Team beginnt bei $599 pro Monat und richtet sich an Organisationen, die Compliance- und Zugriffskontrollfunktionen benötigen, nicht an eine einzelne Person mit einem Nebenprojekt.

Ausgabenlimits sind im Pro-Tarif standardmäßig aktiviert. Dieser Standard ist relevant: Wenn ein enthaltenes Kontingent überschritten wird, schränkt der Dienst seine Nutzung ein, statt die Rechnung unbemerkt weiter steigen zu lassen. Wenn Sie das Limit deaktivieren, entscheiden Sie sich bewusst für das andere Fehlerverhalten. Das ist dieselbe Rechnung, die Sie aufstellen, wenn Sie die Kosten für verwaltetes Postgres mit einem selbst betriebenen VPS vergleichen, denn mit dem Preis für den verwalteten Dienst bezahlen Sie größtenteils den Bereitschaftsdienst eines anderen Anbieters.

Was Self-Hosting stattdessen kostet

Keine Lizenzkosten. Die Supabase-Dokumentation bezeichnet Docker als „the fastest and recommended way to self-host“, und der Stack läuft auf einem gewöhnlichen VPS. Die Rechnung kommt stattdessen in Form von Arbeitsaufwand. Die Dokumentation nennt direkt, welche Aufgaben bei Ihnen liegen:

  • Bereitstellung und Wartung des Servers
  • Absicherung sowie Aktualisierung des Betriebssystems und der Dienste
  • Konfiguration und Verwaltung der Dienste
  • Wartung der Postgres-Datenbank
  • Hochverfügbarkeit und Skalierbarkeit
  • Backups und Notfallwiederherstellung
  • Monitoring und Überwachung der Verfügbarkeit

Betrachten Sie das als wöchentlichen Aufwand, nicht als einmaligen Einrichtungsaufwand. Die Bereitstellung erfolgt einmalig. Updates und Backup-Prüfungen laufen dauerhaft. Wenn Ihre ehrliche Antwort lautet, dass niemand jemals eine Wiederherstellung testen wird, ist der gehostete Plan günstiger, als es zunächst scheint. Ein Restore, den Sie nie durchgeführt haben, ist kein Backup.

Was eine selbst gehostete Supabase-Instanz nicht enthält

Der selbst gehostete Stack ist keine Kopie der gehosteten Plattform. In der Dokumentation werden die nicht verfügbaren Funktionen genannt: „Branching, erweiterte Metriken über Logs hinaus, verwaltete Backups und PITR, Analytics- und Vector-Buckets, ETL sowie die Management API“. PITR (Point-in-Time-Recovery) wird nach einer Migration häufig vermisst. In den gehosteten Plänen aktivieren Sie PITR über eine Einstellung. Auf dem eigenen Server benötigen Sie dafür ein Base Backup und eine WAL-Archivierung (Write-Ahead-Log), einen Speicherort außerhalb des Servers für beides sowie einen Testlauf, der das Zusammenspiel aller Komponenten überprüft. Tools wie pgBackRest sind genau für diesen Zweck vorgesehen. Die Konfiguration liegt bei Ihnen.

Studio, das Web-Dashboard, „unterstützt beim Self-Hosting keine mehreren Organisationen oder Projekte“. Ein Stack entspricht einem Projekt. Wenn Sie also aufgrund des Limits von zwei Projekten selbst hosten möchten, planen Sie einen zweiten Stack mit eigenen Ports oder auf einem eigenen Server ein. Ein zweites Projekt innerhalb eines einzigen Dashboards ist dafür nicht vorgesehen.

Was Sie zurückbekommen

Self-hosted Supabase „telefoniert nicht nach Hause und erfasst keine Telemetriedaten“, wie es in der Dokumentation heißt. Ihre Datensätze und Ihre Benutzertabelle liegen auf Hardware, die Sie direkt mieten. Genau das ist entscheidend, wenn ein Kundenvertrag oder eine Aufsichtsbehörde vorschreibt, in welchem Land die Daten gespeichert werden müssen.

Sie erhalten außerdem die eigentliche Postgres-Datenbank. Die gehostete Plattform optimiert und verwaltet den Server für Sie. Auf Ihrem eigenen System gehören shared_buffers, max_connections, die Liste der Erweiterungen und der davor geschaltete Pooler vollständig Ihnen und können von Ihnen konfiguriert werden. Letzterer wird früh zum Problem, weil eine serverlose Funktion oder eine stark ausgelastete Anwendung mehr Verbindungen öffnet, als Postgres hält. An diesem Punkt ist der Betrieb von PgBouncer oder Supavisor auf Ihrem eigenen VPS keine optionale Maßnahme mehr.

Der ausgehende Datenverkehr ist die Grenze, die Self-Hosting am deutlichsten beseitigt. 5 GB sind schnell aufgebraucht, sobald Storage Bilder oder Audiodateien an echte Besucher ausliefert. Die meisten VPS-Tarife enthalten ein in Terabyte gemessenes Übertragungsvolumen. Eine an Dateien reiche Anwendung erreicht daher die Grenze des Hosting-Angebots lange bevor sie den Server auslastet. Wenn Storage der Grund ist, warum Sie diesen Text lesen, kalkulieren Sie die Kosten für den Speicherplatz vor den Kosten für die Rechenleistung: was ein Terabyte auf Block- oder Objektspeicher tatsächlich kostet beeinflusst die Gesamtkosten stärker als die CPU.

Den Self-hosted-Stack starten

Der dokumentierte Weg besteht aus einem flachen Clone des Verzeichnisses docker aus dem Repository, der auf einen Self-hosted-Release-Tag festgelegt wird. Am 12 October 2026 ist dieser Tag self-hosted/v0.8.2, der am 23 September 2026 getaggt wurde. Unter supabase.link/setup.sh gibt es ein offizielles Setup-Skript für Debian, Ubuntu, RHEL, CentOS und Fedora. Der manuelle Clone unten ist die bessere Wahl, wenn Sie den Dateibaum in Ihrem eigenen git-Repository verwalten möchten.

git clone --depth 1 --branch self-hosted/v0.8.2 https://github.com/supabase/supabase
mkdir supabase-project
cp -rf supabase/docker/. supabase-project
cd supabase-project && cp .env.example .env
printf 'ref=self-hosted/v0.8.2\n' > .supabase-version
docker compose pull
sh utils/generate-keys.sh
sh utils/add-new-auth-keys.sh
sh run.sh start

sh utils/generate-keys.sh ist der Schritt, den Sie nicht überspringen dürfen. .env.example enthält Platzhalter-Secrets, die jeder im öffentlichen Repository lesen kann. Ein Stack, der mit diesen Werten gestartet wird, ist daher für jeden offen, der den Port findet. Die Dokumentation führt direkt danach sh utils/add-new-auth-keys.sh aus, um die neuen API-Schlüssel und ein asymmetrisches Schlüsselpaar zu erzeugen. Prüfen Sie die Ausgabe beider Skripte und kontrollieren Sie .env, bevor Sie den Stack starten. Die Datei .supabase-version zeichnet den verwendeten Tag auf. Dadurch kann das enthaltene update.sh die Installation später aktualisieren. Setzen Sie außerdem DASHBOARD_PASSWORD in .env, weil Studio durch HTTP-Basic-Authentifizierung geschützt ist und die Dokumentation für dieses Passwort mindestens einen Buchstaben verlangt.

Prüfen Sie das Ergebnis mit docker compose ps. Der Befehl sollte jeden Dienst als laufend oder fehlerfrei auflisten. Öffnen Sie anschließend Studio auf Port 8000 und melden Sie sich mit den Dashboard-Zugangsdaten an. sh run.sh secrets gibt die erzeugten Schlüssel erneut aus, wenn Sie sie wieder benötigen. sh run.sh stop fährt den Stack herunter. Veröffentlichen Sie Port 8000 nicht direkt im Internet. Schalten Sie stattdessen einen Reverse Proxy mit TLS (Transport Layer Security) davor oder belassen Sie den Dienst in einem privaten Netzwerk. Die vollständige Anleitung, einschließlich dieses Proxys und der .env-Werte, die Sie zuerst ändern sollten, finden Sie im Schritt-für-Schritt-Leitfaden zum Self-Hosting von Supabase mit Docker Compose.

Welches Free-Angebot passt zu Ihnen?

Wählen Sie den gehosteten Free-Tarif, solange das Projekt noch entwickelt und nicht produktiv genutzt wird und eine Pause keine Kosten verursacht. Es handelt sich um einen vollwertigen Tarif mit einer großzügigen Benutzeranzahl. Gleichzeitig ist er darauf ausgelegt, dass Sie später auf einen anderen Tarif wechseln.

Wählen Sie Pro für $25 pro Monat, sobald das Projekt Benutzer hat, die Ausfallzeiten bemerken. Das kostet weniger als die Zeit, die Sie in einem einzigen Monat für Prüfungen Ihrer Backups aufwenden würden. Die Zahlung ist daher eine Frage der Planung und kein Scheitern.

Wählen Sie Self-Hosting, wenn Sie bereits einen VPS betreiben und dafür schon bei einem anderen Projekt den Administrationsaufwand übernehmen, wenn die Daten Ihre Rechtsordnung nicht verlassen dürfen oder wenn Speicherbedarf und ausgehender Datenverkehr schneller wachsen als die Kosten eines Servers. Dieses Abwägen wiederholt sich bei jedem Open-Core-Produkt. Die Aufteilung zwischen n8ns kostenloser Community Edition und seinen kostenpflichtigen Tarifen und die Aufteilung zwischen dem kostenlosen Nextcloud Hub und seinem Enterprise-Abonnement ziehen dieselbe Grenze an derselben Stelle. Die kostenlose Software ist vollständig genug für einen echten produktiven Workload. Das kostenpflichtige Produkt verkauft Ihnen den Teil, für den niemand gern selbst die Verantwortung übernimmt.

FAQ

Ist der kostenlose Supabase-Tarif dauerhaft kostenlos?

Auf der Preisseite sind für den Free-Tarif keine zeitliche Begrenzung und kein Testzeitraum angegeben. Das wurde am 12. Oktober 2026 geprüft. Die Abrechnungsdokumentation verlangt für kostenpflichtige Tarife eine hinterlegte Karte, nennt eine solche aber nicht für den Free-Tarif. Stattdessen gelten Limits: 0.5 GB Datenbank, 1 GB Dateispeicher, 5 GB ausgehender Datenverkehr, 50,000 monatlich aktive Benutzer und zwei aktive Projekte. Für die meisten Benutzer endet die kostenlose Nutzung nicht wegen eines Kontingents. Entscheidend ist die Regel: "Free projects are paused after 1 week of inactivity".

Was passiert, wenn ein kostenloses Supabase-Projekt pausiert wird?

Das Projekt verarbeitet keine Anfragen mehr. API-Aufrufe schlagen fehl. Das Dashboard kennzeichnet das Projekt als pausiert, bis es jemand mit der Schaltfläche Resume project wieder aktiviert. Laut Dokumentation bleibt diese Schaltfläche ein Jahr nach der Pause verfügbar. Supabase sendet etwa eine Woche vor der Pause eine Warnung per E-Mail. Ihre Anwendung erhält jedoch keine eigene Warnung. Deshalb ist eine vor einem Monat geteilte Demo normalerweise bereits nicht mehr erreichbar, wenn Sie jemand darüber informiert. Wenn das Projekt jederzeit Anfragen verarbeiten muss, wechseln Sie zu Pro oder hosten Sie es selbst.

Ist selbst gehostetes Supabase identisch mit der gehosteten Version?

Nein. Die Dokumentation führt auf, was beim Self-Hosting nicht enthalten ist: "branching, advanced metrics beyond logs, managed backups and PITR, analytics and vector buckets, ETL, and the Management API". Studio "doesn't support multiple organizations or projects". Ein selbst gehosteter Stack entspricht daher einem einzelnen Projekt. Die Komponenten für Datenbank, Authentifizierung, Speicher, Echtzeit und Edge Functions sind dieselbe Software, die auf der gehosteten Plattform ausgeführt wird.

Sendet selbst gehostetes Supabase Daten an Supabase zurück?

Nein. In der Dokumentation zum Self-Hosting steht, dass eine selbst gehostete Bereitstellung "does not phone home or collect any telemetry". Die Container laden ihre Images aus einer öffentlichen Registry, wenn Sie docker compose pull ausführen. Das ist ein gewöhnlicher Image-Download und kein Bericht über Ihre Daten. Danach verbleibt alles auf Ihrem Server. Das bedeutet auch, dass Sie für jedes Backup und jedes Security-Update selbst verantwortlich sind.