Wer ein kleines Webprojekt oder einen Prototypen starten möchte, steht oft vor der gleichen Herausforderung: Ein vollständiges Backend aufzusetzen kostet Zeit, Geld und erfordert Kenntnisse über Datenbankserver, Authentifizierungssysteme und Deployment-Pipelines. PocketBase löst dieses Problem auf elegante Weise – das gesamte Backend steckt in einer einzigen ausführbaren Datei, die in Go geschrieben wurde und SQLite als Datenbank verwendet.
Was ist PocketBase?
PocketBase ist ein Open-Source-Backend-Framework, das seit 2022 aktiv entwickelt wird. Der Kern der Philosophie ist denkbar simpel: Eine einzige Binary-Datei enthält alles, was ein modernes Backend benötigt – Datenbank, Authentifizierung, Dateiablage, API-Endpunkte und eine Admin-Oberfläche. Kein Aufsetzen von PostgreSQL, kein separater Auth-Server, keine Konfiguration von CORS-Regeln von Hand.
Das Projekt wurde von Gani Georgiev ins Leben gerufen und ist auf GitHub mit über 40.000 Stars eines der beliebtesten Backend-Projekte der letzten Jahre. Der gesamte Quellcode ist unter der MIT-Lizenz veröffentlicht und damit vollständig kostenlos nutzbar.
Die Single-Binary-Philosophie
Der wichtigste Unterschied zu anderen Backend-Lösungen ist die Tatsache, dass PocketBase als einzelne ausführbare Datei ausgeliefert wird. Wer PocketBase starten möchte, lädt die Binary für das jeweilige Betriebssystem herunter und führt sie aus:
./pocketbase serve
Damit startet ein vollständiger HTTP-Server auf Port 8090, der die REST-API sowie die Admin-Oberfläche bereitstellt. Alle Daten werden in einer SQLite-Datenbankdatei gespeichert, die im gleichen Verzeichnis angelegt wird. Diese Datei lässt sich einfach sichern, verschieben oder auf einen anderen Server übertragen – kein Dump, keine Migration, keine Konfigurationsänderungen.
Wer PocketBase als Framework in eigenen Go-Projekten nutzen möchte, kann es auch als Go-Modul einbinden und eigene Hooks, Middleware oder API-Routen hinzufügen. Diese Flexibilität macht PocketBase zu mehr als nur einem fertigen Produkt – es ist gleichzeitig ein erweiterbares Framework.
Integrierte Authentifizierung
PocketBase bringt ein vollständiges Authentifizierungssystem mit. Unterstützt werden E-Mail-/Passwort-Authentifizierung sowie OAuth2-Provider wie Google, GitHub, GitLab, Discord und viele weitere. Die Einrichtung eines OAuth2-Providers erfolgt direkt in der Admin-Oberfläche, ohne eine Zeile Code schreiben zu müssen.
Tokens werden als JWT ausgestellt und können im Frontend direkt verwendet werden. Passwort-Reset, E-Mail-Verifizierung und Aktualisierungstoken sind ebenfalls integriert. Rollenbasierte Zugriffskontrolle lässt sich über Collection-Regeln in der Admin-UI konfigurieren.
Realtime-Subscriptions
PocketBase unterstützt Echtzeit-Updates über Server-Sent Events (SSE). Das JavaScript-SDK stellt dafür eine einfache Subscribe-API bereit. Clients können sich auf Änderungen einer gesamten Collection oder eines einzelnen Datensatzes abonnieren:
pb.collection('posts').subscribe('*', function (e) {
console.log(e.action); // "create", "update", "delete"
console.log(e.record);
});
Dies ermöglicht reaktive Benutzeroberflächen ohne eigene WebSocket-Infrastruktur. Für einfache Anwendungsfälle wie Chat-Apps, Live-Dashboards oder kollaborative Tools ist diese Lösung vollkommen ausreichend.
Dateispeicherung
Datei-Uploads werden nativ unterstützt. Jede Collection kann File-Felder enthalten, und PocketBase speichert die Dateien standardmäßig im lokalen Dateisystem. Optional lässt sich S3-kompatible Speicherung (AWS S3, Backblaze B2, MinIO) konfigurieren. Bildtransformationen – Zuschneiden und Skalieren – können direkt über URL-Parameter angefordert werden.
Admin-Oberfläche
Unter /\_/ ist eine vollständige Admin-Oberfläche erreichbar. Hier lassen sich Collections anlegen und verwalten, Felder konfigurieren, API-Regeln setzen, Benutzer verwalten und Logs einsehen. Die Oberfläche ist responsiv und bietet einen übersichtlichen Einstieg für neue Projekte.
JavaScript SDK
Das offizielle JavaScript SDK ist für Browser und Node.js verfügbar. Es deckt alle API-Funktionen ab: CRUD-Operationen, Authentifizierung, Datei-Uploads und Realtime-Subscriptions. Ein Dart-SDK für Flutter-Projekte ist ebenfalls verfügbar.
Vergleich: PocketBase vs. Supabase vs. Firebase vs. Appwrite
| Merkmal | PocketBase | Supabase | Firebase | Appwrite |
|---|---|---|---|---|
| Hosting | Self-hosted | Cloud / Self-hosted | Cloud only | Self-hosted / Cloud |
| Preis (Free Tier) | Kostenlos (OSS) | 500 MB DB free | Spark Plan free | Kostenlos (OSS) |
| Datenbank | SQLite | PostgreSQL | Firestore (NoSQL) | MariaDB |
| Realtime | SSE | WebSockets | WebSockets | WebSockets |
| Auth | Email + OAuth2 | Email + OAuth2 + Magic Link | Email + OAuth2 + Phone | Email + OAuth2 + Teams |
| Selbst hosten | Sehr einfach (1 Binary) | Komplex (Docker Compose) | Nicht möglich | Docker Compose |
| Skalierung | Begrenzt (SQLite) | Hoch (PostgreSQL) | Sehr hoch | Mittel |
Typische Anwendungsfälle
PocketBase eignet sich hervorragend für Indie-Hacker, die schnell ein funktionsfähiges Backend benötigen, ohne in teure Cloud-Dienste zu investieren. Typische Einsatzszenarien sind:
- Prototypen und MVPs, die innerhalb weniger Stunden lauffähig sein müssen
- Kleine SaaS-Produkte mit überschaubarer Nutzerzahl
- Interne Tools für Teams
- Mobile Apps mit Flutter oder React Native
- Statische Websites mit dynamischen Datenbereichen (Formulare, Kommentare)
Deployment
Das Deployment gestaltet sich denkbar einfach. Die Binary wird auf den Server kopiert, ein Systemd-Service eingerichtet und fertig. Für containerisierte Deployments stellt die Community inoffizielle Docker-Images bereit. Dank der kleinen Größe (unter 30 MB) und minimaler Abhängigkeiten läuft PocketBase auf nahezu jeder Linux-Umgebung.
Eine vollständige Anleitung für das Deployment auf einem Ubuntu-Server findet sich in der offiziellen Dokumentation.
Fazit
PocketBase hat die Art verändert, wie Entwickler über Backend-Infrastruktur für kleine Projekte nachdenken. Die Kombination aus einfachstem Deployment, vollständigem Feature-Set und null laufenden Kosten macht es zur ersten Wahl für Indie-Entwickler und alle, die ohne großen Overhead schnell produktiv werden wollen. Wer größere Skalierungsanforderungen hat, sollte zu Supabase oder Firebase greifen – für alle anderen ist PocketBase schwer zu schlagen.
Häufig gestellte Fragen
- Kann PocketBase in Produktion eingesetzt werden?
- Ja, PocketBase ist produktionsreif und wird von zahlreichen Indie-Projekten und kleineren SaaS-Produkten eingesetzt. Für sehr hohe Schreiblast ist SQLite jedoch ein limitierender Faktor, der berücksichtigt werden sollte.
- Wie sieht das Backup-Konzept aus?
- Da alle Daten in einer einzigen SQLite-Datei gespeichert werden, genügt ein einfaches Kopieren dieser Datei als vollständiges Backup. PocketBase unterstützt zusätzlich automatische Backups in den Admin-Einstellungen sowie S3-Backups.
- Lässt sich PocketBase mit bestehenden Projekten integrieren?
- Ja, PocketBase stellt eine vollständige REST-API bereit, die von jedem Frontend oder Backend konsumiert werden kann. Als Go-Modul eingebunden, lässt es sich tief in bestehende Go-Applikationen integrieren und um eigene Routen und Hooks erweitern.
- Gibt es eine Versionsmigration bei Updates?
- PocketBase verwaltet Datenbankmigrationen intern. Bei einem Update der Binary werden notwendige Schema-Änderungen automatisch angewendet. Es empfiehlt sich dennoch, vor jedem Update ein Backup anzufertigen.