What is PocketBase?
PocketBase is an open-source backend consisting of embedded database (SQLite), realtime subscriptions, built-in auth management, file and media storage, and a convenient Admin dashboard UI, all packaged as a single executable.
Everything in One Binary
- Database — SQLite with automatic migrations via the Admin UI
- Auth — Email/password, OAuth2 (Google, GitHub, etc.), username, anonymous
- Realtime — Subscribe to collection changes via SSE or WebSocket
- Storage — File uploads stored locally or on S3-compatible storage
- Admin UI — Web-based dashboard to manage collections, users, settings
- REST API — Auto-generated CRUD API for every collection
- SDK — JavaScript, Dart, and community SDKs
Quick Start
# Download the binary for your OS from GitHub releases
./pocketbase serve
# Admin UI: http://localhost:8090/_/
# API: http://localhost:8090/api/
JavaScript SDK
import PocketBase from 'pocketbase';
const pb = new PocketBase('http://localhost:8090');
const records = await pb.collection('posts').getFullList();
PocketBase vs. Supabase
Supabase is hosted (or complex self-hosted). PocketBase is one binary you can run anywhere — VPS, Raspberry Pi, Docker. No Kubernetes, no microservices. The tradeoff: PocketBase uses SQLite so it's not designed for millions of concurrent writes.