PocketOne logo

PocketOne

brew install pockethost/tap/pocketone
pocketone serve

A community fork of PocketBase

PocketOne is a 100% backward compatible fork of PocketBase and ships with popular goodies like point-in-time restore, server-rendered pages, deploys, MCP for agents and more. Check out our growing list of extensions and contribute one of your own.

How PocketOne is built

PocketOne tracks upstream PocketBase. Its own changes to the core are only the hooks extensions need.

A small core

Core changes are hooks only: marked in the source, reviewed by someone who didn't write them, and kept small so upstream releases merge cleanly.

Everything is an extension

Each feature is its own Go module with a README and an example. Extensions you don't use add no work to your app.

One app or hundreds

The same extension runs on a single app and on every instance of a multi-instance host. PocketHost runs it in production.

What you get

In every pocketone binary, off until you use it (point-in-time restore is on by default).

  • Point-in-time restore: restore your database to any moment, from the dashboard
  • Pages: server-rendered sites from a pb_pages folder, no build step
  • Deploys: pocketone deploy, dev, pull and logs
  • MCP: an endpoint for agents to manage your app
  • API tokens: long-lived, scoped tokens for scripts
  • Auto TLS: certificates on demand, wildcards too
  • Bulk mail: campaigns to your own users
  • A config file: pocketone.yaml, with secrets kept out of your hooks

Built in the open

Ask questions and share ideas in Discussions, report bugs in Issues, and send your extensions as pull requests. Start with Writing an extension.