PocketBase
Open-source backend in a single 12MB binary. Embedded SQLite database with realtime subscriptions, built-in auth, file storage, and an admin dashboard. No Docker or separate database server required
Quick Start
wget https://github.com/pocketbase/pocketbase/releases/download/v0.38.2/pocketbase_0.38.2_linux_amd64.zip && unzip pocketbase_*.zip && ./pocketbase serve Overview
PocketBase is an open-source backend that ships as a single executable. Download the binary for your platform, run one command, and you have a running backend with a SQLite database, a REST API, realtime subscriptions, user authentication, file storage, and an admin dashboard. No Docker required, no database server to configure, no separate auth service.
The realtime layer works through server-sent events. From the JavaScript or Dart SDK, you subscribe to a collection and receive push updates whenever a record is created, updated, or deleted. The auth system covers email and password accounts, OAuth2 providers, and one-time passwords out of the box. File uploads go to local storage by default, with the option to route them to any S3-compatible bucket.
For developers who want to extend beyond the built-in features, PocketBase can also be used as a Go framework. You import it as a library and write custom routes, hooks, and middleware around the core, so you are not locked into the default behaviour.
Two honest caveats worth knowing before you build on it. First, PocketBase has not reached v1.0, and the project documentation explicitly states that backward compatibility is not guaranteed. Upgrades between minor versions occasionally require manual migration steps. Second, the SQLite foundation means the database lives on one machine. This works well for most indie projects and small teams, but it rules out horizontal scaling.
For side projects, MVPs, and internal tools, the tradeoff is usually worth it. The time it saves on infrastructure setup is hard to overstate.
PocketBase: Pros & Cons
| Pros (The Wins) | Cons (The Friction) |
|---|---|
| Single binary: Unzip and run; no Docker, no database server needed. | Pre-v1.0: No backward compat guarantee; upgrades can need manual steps. |
| Realtime built in: Subscribe to collection changes from the client SDK via SSE. | SQLite ceiling: One machine, vertical scaling only; no multi-node support. |
| Full auth stack: Email, OAuth2, and OTP with no external service. | Solo maintainer: Active but small team; roadmap depends on one person. |
| Extensible in Go: Use as a framework to add custom routes, hooks, and logic. | Not production-critical ready: Their own docs advise against mission-critical deployments. |
Use Cases
Specific ways to use PocketBase for your workflow.
Deployment Strategy
Recommended ways to host PocketBase in your own environment.