Pocketbase – open-source realtime back end in 1 file

What PocketBase Is

  • Viewed as a “SQLite Supabase/Firebase”: single Go binary embedding SQLite, with REST API, auth, realtime subscriptions (SSE), file storage, and an admin UI.
  • “One file” means one compiled binary plus an SQLite DB file, not literally single-source-file code or some new DB engine.

Real‑world Usage & Experiences

  • Many report using it for 1–2 years in production for:
    • RSS/email apps, word games, business directories, internal LoB tools, personal blogs, knowledge graphs, side projects.
  • Generally described as stable and “bulletproof” for small/medium workloads; one manual migration noted (around 0.23.0), otherwise upgrades are smooth.
  • Some people use it only as a data/auth layer and keep a separate custom backend.

Strengths Highlighted

  • Extremely easy deployment: one binary + one SQLite file; much simpler than self‑hosting Supabase.
  • Polished, friendly admin UI (for desktop) and powerful rules/filters for row-level security.
  • Good extensibility via Go/JS hooks, automatic DB migrations, S3‑compatible storage, image resizing, backups.
  • Runs well even on low‑end hardware (e.g., Raspberry Pi, cheap VPS) and can host multiple apps on a small server.

Limitations & Pain Points

  • Admin UI is not phone‑optimized; lots of horizontal scrolling and awkward modals on mobile.
  • Missing/awkward features: nullable columns (a dealbreaker for some), weak admin search, limited GIS support, tricky large data migrations/imports.
  • Realtime (SSE) praised by some, described as buggy and hard to debug by others.
  • One report of serious performance issues with bulk deletes and large admin lists; others attribute such problems more to design/tuning than SQLite itself.
  • Lock‑in concern: schema and API are opinionated, and it’s SQLite‑only.

SQLite, Performance & “Realtime” Debate

  • Ongoing debate: extra HTTP layer vs in‑process SQLite; some benchmark data suggests ~15–20ms p50 latency under load.
  • Many argue SQLite + single binary is “good enough” and far simpler than distributed stacks; others worry about HA, replication, and contention.
  • Long subthread on the meaning of “realtime”: consensus that PocketBase offers soft/web realtime (event push), not hard real‑time guarantees.

Ecosystem, Alternatives & Maintenance Risk

  • Compared frequently with Supabase, Firebase, Parse, AppWrite, InstantDB, TrailBase, Postbase.
  • TrailBase (Rust) highlighted for nullable support and performance; PocketBase praised for admin UX.
  • Appreciation for the project’s quality, but concern about single‑maintainer “bus factor” and long‑term sustainability.