PocketBase
An entire backend in a single Go executable: PocketBase embeds SQLite with realtime
subscriptions, authentication and user management, file storage, and an admin dashboard, all
behind a REST-ish API. SQLite runs in WAL mode, which outperforms client-server databases for
the read-heavy workloads typical of small and mid-sized apps. Authentication supports
email/password, one-time passwords, and 15+ OAuth2 providers including Google, Apple, and
GitHub, with stateless tokens. Clients subscribe to record changes over server-sent events,
and official JavaScript and Dart SDKs cover web, mobile, and Flutter frontends. Collections,
rules, and API access permissions are managed visually in the admin UI. When you need custom
logic, extend it with JavaScript hooks running in the embedded JS VM of the prebuilt binary,
or import PocketBase as a Go library and compile custom business logic into your own
single-file backend. File storage attaches uploads to records with thumbnail generation for
images and optional S3-compatible external storage. All state lives in one pb_data directory,
so backup is a directory copy and upgrade is replacing a binary - one of the
lowest-maintenance backends you can run. The contrast with Firebase is the point: where
usage-based pricing scales with reads, writes, and bandwidth, PocketBase runs the entire
backend at flat hosting cost, and the data is a plain SQLite file you can copy anywhere.
MIT-licensed.
Deploy