Self-hosted

PocketBase

One executable file that gives you a database, auth, file storage and an admin UI.

61.0k stars MIT Go
4.5 / 5 Editor score

What it is

PocketBase packs an SQLite database, a REST API, authentication, file storage, an admin dashboard and a JavaScript hook system into a single Go binary. You download one file, run it, and a working backend is listening on a port.

Because it embeds SQLite, there is no database server to install and no connection string to configure. The binary can also be imported as a Go library and extended, and it ships a JavaScript migration and hook system so behaviour can be customised without leaving the single-binary model. Compared with Supabase or Appwrite it trades scale for simplicity, deliberately.

It fits prototypes, internal tools and the backends of small mobile or desktop apps, anywhere a full Postgres stack would be more machinery than the problem deserves. It is not trying to be a horizontally scalable platform.

Why we recommend it

The deploy story is literally one file

Copy the binary to a server, run it, done. There is no runtime to install, no database to provision and no container orchestrator involved. Nothing else on this list is close to that.

SQLite makes the whole backend portable

Backups are a file copy and so is moving between environments. For a small application that is a better failure mode than a database server you have to keep alive and upgrade.

The admin UI is included and usable

Collections, records, users, file uploads and access rules are all edited from a bundled dashboard, so a first version of an app can ship with no backend code at all.

MIT licensed with no server-side strings

There is no cloud tier the open source version is being held back for, and no per-request pricing. It can be embedded in a commercial product without copyleft obligations.

How it scores

Ease of setup 5.0
Documentation 4.5
Community & support 4.5
Performance 4.0
Maintenance & activity 4.5

These are our editorial ratings, not benchmark results. We score on how the project behaves in practice — how long it takes to get running, how good the documentation is, how responsive the maintainers are, and how well it holds up over time. The licence and star count above are read from GitHub and are a snapshot.

Pros and cons

Strengths

  • Single binary: no runtime, database server or container required
  • Built-in admin dashboard, auth, file storage and access rules
  • Extensible in Go or JavaScript without giving up the single-file deployment
  • MIT licensed, with no open-core restrictions or usage limits
  • Actively developed and responsive to issues

Trade-offs

  • SQLite is the only supported database, which caps write concurrency and rules out horizontal scaling
  • Much smaller ecosystem than Supabase or Appwrite, so fewer examples and third-party integrations
  • The JavaScript and Go APIs have changed across 0.x releases, so upgrades need care
  • Not a fit for large multi-tenant applications or anything that needs read replicas

How to get it

Direct download

Clicking a button downloads the file straight from the project's release — you stay on this page.

One-line install

Prefer the terminal? Copy a command and you are done.

Linux / macOS (after downloading a release) ./pocketbase serve

At a glance

CategorySelf-hosted
LicenceMIT
Written inGo
GitHub stars61,004
Repositorypocketbase/pocketbase

Licence and star count were read from the GitHub API when this page was generated and are a snapshot. Check the repository for the current figure and the authoritative licence text.

Other Self-hosted tools

We are not affiliated with PocketBase or its maintainers. We list it because it is genuinely useful and genuinely free. If you plan to build a commercial product on top of it, read the licence on the repository first.

← Back to all tools