Extensions

Each extension is a Go module in ext/ with its own README; the pages here are those READMEs. Want to add one? Read Writing an extension.

Standard extensions

These ship with pocketone and add no work to an app that doesn't use them.

Extension What it does
PITR Point-in-time restore of your database with Litestream. On by default.
Auto TLS Certificates on demand and wildcards through ACME.
Bulk Mail Campaigns to your app's own users, with audiences from a collection, a view or SQL.
Pages Server-rendered pages from a pb_pages folder (formerly PocketPages).
Vacuum Scheduled SQLite VACUUM.
MCP An MCP endpoint at /mcp so agents can manage your app and call its tools.
OAuth Server Your app as an OAuth provider; pocketone login and MCP sign-in use it.
S3 Redirect File downloads as short-lived signed S3 redirects.
Tokens Long-lived API tokens with scopes.
Deploy pocketone deploy, dev, pull and logs, and the deploy API.
Remotes Named remotes and saved logins for the pocketone command.
Upgrade pocketone upgrade to the latest release, keeping the old executable.
Config The pocketone.yaml config file, with secrets in a .env beside it.
JS Errors JS hook errors that name the pb_hooks file and line.

Run many instances

Host hundreds of PocketBase instances in one process, across regions.

Extension What it does
Pocker Hundreds of PocketBase instances in one Go process, routed by hostname.
Multisite Many instances behind one listener, routed by hostname, run by one provider.
Docker A host provider that runs each instance in its own container.
Sandbox Confines untrusted JS hooks, SQL and outbound network.
Firewall Peer allow-lists, trusted proxies and rate limits for a host.
Edge Forwards each request to the edge that owns the instance.
Mothership A control plane and its edges, across regions.
Schedules Scheduled webhooks that wake sleeping instances.
Stats Measures disk use and last request for each instance a host serves.

Services for your instances

Shared services a host gives every instance it runs.

Extension What it does
Mail Relay Outgoing mail for instances without SMTP, through your relay, with limits.
S3 Fallback A default bucket for uploads and backups when an instance has no S3 of its own.
Server Timing Server-Timing headers for each step of a request.

Sell it as a service

Accounts, quotas and billing, for running PocketBase as a service.

Extension What it does
Multitenant Accounts that own instances: quotas, owner logins, tokens and an API.
Multitenant Billing Plans, quotas and the billing provider hook for Multitenant.
Lemon Squeezy Adapter Lemon Squeezy as the billing provider.

For extension authors

The extension contract and tools for building and testing extensions.

Extension What it does
Extension Kit The extension contract: one extension works on a single app and under pocker.
Mail Trap Dev mode: mail from an app without SMTP lands in a built-in inbox.
Dev Users Local testing only: a superuser and a user with password "password".
JS Embed JS hooks and migrations embedded in the binary.