Skip to content

Command Palette

Search for a command to run...

Self-host PocketBase

Backend & BaaS
prices checked · Jul 2026

Open-source backend in a single Go binary — embedded SQLite database, built-in auth, realtime subscriptions, file storage, and an admin dashboard with zero external dependencies.

Firebase / yr$300
Self-hosted / yr~$55
You keep$245/yr

Key facts

CategoryBackend & BaaS
LicenseMIT
StackGo, SQLite
Min RAM512 MB
Dockeryes
Difficulty
Our recommendation

Pick PocketBase when you want the lightest possible backend — one Go binary, embedded SQLite, auth and realtime and an admin UI included, running comfortably on 512 MB. It's the easiest app in this roster to stand up. The tradeoff is SQLite itself: fine for a single-node app with moderate write concurrency, the wrong choice if you need a separately scalable database.

What you need

  • Any VPS with at least 512 MB of RAM
  • A domain you control — most self-hosted setups need HTTPS in front of them
  • Under an hour if you've used Docker before

Install with Docker Compose

Save this as compose.yml and run docker compose up -d:

# PocketBase — official prebuilt single-binary release
curl -LO https://github.com/pocketbase/pocketbase/releases/download/v0.39.6/pocketbase_0.39.6_linux_amd64.zip
unzip pocketbase_0.39.6_linux_amd64.zip
./pocketbase serve --http=0.0.0.0:8090  #  →  http://SERVER_IP:8090/_/

What you take on

PocketBase's single-binary simplicity is also where its limits live:

non-negotiableSQLite is embedded, not a service. There's no separate database to scale or fail over independently — back up the data directory (the .db files) like you would any file, and know that heavy concurrent writes are SQLite's weak point.
non-negotiableIt's a young, fast-moving project pre-1.0. The API has stabilized a lot, but check the changelog before upgrading across versions rather than assuming strict backward compatibility.
non-negotiableScaling is vertical, not horizontal. One process on one box is the whole model — if you outgrow a single server, you're migrating to something else, not adding nodes.

An alternative to

More in Backend & BaaS