PocketBase vs. Supabase: Welches Backend-as-a-Service 2025?

Wenn du eine App schnell bauen willst, ohne ein vollständiges Backend von Grund auf zu entwickeln, stehen dir zwei hervorragende Open-Source-Optionen zur Verfügung: PocketBase und Supabase. Beide bieten Authentifizierung, Datenbank und APIs out-of-the-box — aber ihr Ansatz ist grundlegend verschieden.

Was ist Supabase?

Supabase nennt sich selbst "the open source Firebase alternative" und bietet eine vollständige Backend-Plattform auf Basis von PostgreSQL. Es wurde 2020 gestartet und hat heute über 60.000 GitHub-Stars.

Supabase-Komponenten

  • PostgreSQL: Vollständige relationale Datenbank mit allen SQL-Features
  • Auth: Benutzerauthentifizierung mit Email, OAuth (GitHub, Google, etc.), Magic Links
  • Realtime: WebSocket-basierte Echtzeit-Updates via Postgres Replication
  • Storage: S3-kompatibler Objektspeicher für Dateien
  • Edge Functions: Serverless-Funktionen auf Deno-Basis
  • Auto-generated REST & GraphQL API: Direkt aus dem Datenbankschema

Stärken von Supabase

  • PostgreSQL als Kern: Volle SQL-Power, JOINs, Transaktionen, Row Level Security
  • Dashboard: Exzellentes Admin-UI für Datenbankmanagement
  • Row Level Security (RLS): Feingranulare Zugriffssteuerung auf Datenbankebene
  • Ecosystem: SDKs für JavaScript, Flutter, Python, Swift, Kotlin
  • Managed Cloud: supabase.com bietet einen großzügigen Free-Tier

Schwächen von Supabase

  • Komplex im Self-Hosting: Supabase besteht aus ~10 Docker-Containern — selbst hosten ist aufwändiger als es klingt
  • Lernkurve: Row Level Security ist mächtig, aber komplex zu debuggen
  • Cold Start bei Edge Functions: Serverless-Funktionen haben Startlatenz

Was ist PocketBase?

PocketBase ist eine einzelne ausführbare Datei (~20 MB), die Datenbank, Auth, File Storage und REST-API in einem Binary vereint. Kein Docker-Compose, kein Kubernetes — einfach und fertig.

PocketBase-Funktionen

  • SQLite als Datenbank: Eingebettet, keine externe Datenbank nötig
  • Auth: Email/Password, OAuth (Google, GitHub, etc.), OTP
  • File Storage: Integrierter Datei-Upload mit S3-Unterstützung optional
  • Auto-generated REST API: CRUD-Endpunkte für alle Collections
  • Admin UI: Web-Dashboard eingebaut
  • Custom JS Rules: Geschäftslogik via JavaScript-Hooks

Stärken von PocketBase

  • Simplizität: Ein Binary, eine Datei — das ist alles. Deployment in 5 Minuten.
  • Ressourceneffizient: Läuft auf einem 1-GB-RAM-VPS problemlos
  • Schnell zu starten: Perfekt für Prototypen und Solo-Projekte
  • SQLite-Performance: Für lesezentrierte Workloads überraschend schnell
  • Self-Hosting trivial: hinter Nginx — fertig

Schwächen von PocketBase

  • SQLite-Grenzen: Kein Multi-Write-Concurrency unter Last, schwieriger zu skalieren als PostgreSQL
  • Kein ausgereiftes Realtime-Model: Weniger ausgereift als Supabase Realtime
  • Kleineres Ökosystem: Weniger SDKs, weniger Community-Ressourcen als Supabase
  • Go-Extensions: Für Custom-Logik muss man PocketBase in Go kompilieren (oder JS-Hooks nutzen)

Direkter Vergleich

Kriterium PocketBase Supabase
Datenbank SQLite (eingebaut) PostgreSQL (vollwertig)
Self-Hosting Trivial (1 Binary) Komplex (Docker-Compose)
Skalierung Begrenzt (SQLite) Hoch (PostgreSQL)
Auth Gut Sehr gut
Realtime Basis Ausgereift
SDK-Support Gut Sehr gut
Lernkurve Sehr niedrig Mittel
Preis (Cloud) Nur Self-Hosted Kostenloser Free-Tier

Wann PocketBase, wann Supabase?

Wähle PocketBase wenn:

  • Du schnell einen Prototypen oder ein Side-Project bauen willst
  • Self-Hosting-Simplizität wichtiger ist als Features
  • Deine App kein massives gleichzeitiges Write-Volumen hat
  • Du SQLite-Grenzen akzeptieren kannst (meist tust du das für kleine Apps)

Wähle Supabase wenn:

  • Du komplexe relationale Daten mit JOINs und Transaktionen brauchst
  • Realtime-Features ein Kernbestandteil deiner App sind
  • Du skalieren willst oder mit einem Team arbeitest
  • Du Row Level Security für feingranulare Auth-Logik brauchst

Meine Erfahrung

Ich habe PocketBase für ein internes Tool genutzt, das Mitarbeiterdaten verwaltete. Der Aufwand war minimal: Deployment in 10 Minuten auf einem Hetzner-VPS. Für diesen Use Case war SQLite völlig ausreichend.

Für ein Kundenprojekt mit echtem Wachstum und komplexen Berechtigungen wählte ich Supabase — RLS und PostgreSQL gaben mir die nötige Kontrolle.

Fazit: PocketBase für Prototypen und kleine Apps, Supabase für alles was wächst oder komplexe Datenmodelle braucht. Beide sind exzellente Open-Source-Alternativen zu Firebase.