PocketHost
PocketHost is the open source multi-tenant PocketBase server. PocketHost can run dozens, hundreds, even thousands of PocketBase instances on a single server or across a global cloud.
Extend PocketHost with its Plugin ecosystem. Start with the bare-bones dev server and add plugins to grow your enterprise into a global cloud.
Sponsored by https://pockethost.io. Instantly host your PocketBase projects.
Quickstart
npx pockethost serve
Configuration
PocketHost supports configuration by environment variable. All PocketHost environment variables begin with PH_.
PocketHost will search the current directory for an .env when it loads. Anything in .env will be merged with and override any <PH_HOME>/.env that may exist.
Use pockethost config to set global defaults stored in <PH_HOME>/.env.
Variables
| Name | Default | Discussion |
|---|---|---|
| PH_HOME | ~/.pockethost |
PocketHost's home directory where it holds all data. |
| PH_APEX_DOMAIN | pockethost.lvh.me |
The apex domain used for routing and determining instance names. |
| PH_PORT | 3000 |
The port PocketHost listens on |
| PH_DEBUG | NODE_ENV==='development' |
Debug mode |
| PH_PLUGINS | (see below) | A comma-separated list of Plugins to load |
| PH_DATA_DIR | ~/.pockethost/data |
The root directory for storing PocketHost data, including instance databases. |
| PH_DEV | NODE_ENV==='development' |
Whether PocketHost is running in development mode. |
Default Plugins
@pockethost/plugin-console-logger@pockethost/plugin-launcher-spawn@pockethost/plugin-auto-admin
Plugins
PocketHost uses a hook architecture and features a growing list plugins. Some plugins have a CLI component, whereas others add purely programmatic support to alter how PocketHost works:
Current plugins:
| name | description |
|---|---|
| plugin-console-logger | Routes log messages to the console |
| plugin-auto-admin | Auto-creates a default admin account on instance launch |
| plugin-launcher-spawn | Launches PocketBase instances via spawn() on the local machine. PocketHost uses this by default |
| plugin-cloudflare-request-logger | Log additional data when running behind Cloudflare |
Coming soon:
| name | description |
|---|---|
| plugin-ftp-server | Used to provide secure FTPS access to PocketBase instance data. This FTP server can run along-side a PocketHost server. |
| plugin-launcher-docker | Launches PocketBase instances via Docker. This is useful for running untrusted PocketBase code and instances. pockethost.io uses this. |
| plugin-waf | A Web Application Firewall |
| plugin-waf-enforce-ssl | Enforce SSL at the |
| WAF |
See the Plugin Authoring Guide for details about what hooks and filters are available.
Support
PocketHost has a thriving Discord community.