PocketBase

developer toolsindie hacker

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

#backend#database#auth#firebase-alternative#sqlite#realtime#api#self-hosted
Alternative to FirebaseSupabaseAppwrite

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.

01
Ship a full backend for an MVP or side project with no infrastructure setup beyond copying one file
02
Build a Flutter or React app with real-time data sync without configuring WebSockets
03
Add user auth with email, OAuth2, and OTP to a project in under an hour
04
Prototype an API-backed product and decide later whether to migrate to something more complex

Deployment Strategy

Recommended ways to host PocketBase in your own environment.

self-hosted
binary