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.