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.