
PocketBase
Open-source Go backend providing embedded SQLite, realtime (SSE) subscriptions, auth (JWT/OAuth2), file storage, admin UI and REST-style APIs for web and mobile apps.

PocketBase is a compact open-source backend written in Go that provides an embedded SQLite database, realtime subscriptions, user authentication, file storage and a built-in admin dashboard. It can be used as a standalone single-file executable or as an embeddable Go library for custom apps. (github.com)
Key Features
- Embedded SQLite database with schema builder, validations and realtime change subscriptions (Server-Sent Events). (github.com)
- Authentication and authorization: email/password, token-based (JWT) auth, OAuth2 provider integrations and auth token refresh/management. (pocketbase.io)
- File storage with local or S3-compatible backends, file uploads attached to records and automatic thumbnail generation. (pocketbase.io)
- Built-in Admin dashboard UI for managing collections, records, files and users; extendable via Go hooks and an embedded JavaScript VM. (github.com)
- REST-style JSON APIs plus official SDKs (JavaScript, Dart) for quick client integration and realtime subscribe/unsubscribe helpers. (github.com)
- Small footprint single binary distribution with cross-platform prebuilt executables and example starter projects. (pocketbase.io)
Use Cases
- Prototyping and internal tools where a minimal backend (DB + auth + file storage + admin UI) is needed quickly.
- Client-driven web or mobile apps (SPAs, PWAs, React/Flutter apps) that need realtime updates and a simple REST API.
- Lightweight CMS-like applications, admin dashboards and hobby/side projects requiring a portable backend.
Limitations and Considerations
- Single-server architecture with an embedded SQLite store; no built-in sharding or multi-node clustering, so horizontal scaling is limited. (github.com)
- Realtime uses SSE (unidirectional) rather than WebSockets; reverse proxy configuration must support long-lived HTTP streams. (pocketbase.io)
- Project is under active development and the maintainers note potential breaking changes before a stable v1.0; review changelogs and migration notes for production upgrades. (github.com)
- Offline-first sync is not provided out-of-the-box; client-side handling is required for offline scenarios. (github.com)
PocketBase offers a pragmatic, compact backend for many web and mobile workflows where simplicity, portability and realtime updates matter. It is especially suited for prototypes, internal apps and small production services that accept the single-server SQLite tradeoffs.






















