# pb A simple and _fast_ PocketBase deployment tool. ## Commands ### `init` Start a new PocketBase project (optionally provide a service name via `pb init `) with a `pb.toml`: ```toml [server] port = 8090 # ip = '127.0.0.1' # domain = 'example.com' [pocketbase] version = '0.35.1' service = 'rusty-dusty' volume = 'pb_data' ``` ### `dev` Run the local dev server. ### `deploy` Syncs `pb_public`, `pb_migrations`, and `pb_hooks`, then restarts the remote PocketBase service. The command will automatically run `setup` if the PocketBase binary isn’t present on the remote. ### `status` Show the remote PocketBase systemd service state along with its configured port, PID, and uptime. ### `setup` Run everything required to deploy an application to a fresh host. This will: 1. Setup up a firewall. 2. Install and setup Caddy. 3. Download pocketbase and configure remote secrets. 4. Configure systemd. ### `logs` Streams the remote logs (`/root/pb/{service}/{service}.log`). ### `secrets` Manage the remote secrets in `/root/pb/{service}/.env`. - `pb secrets list` prints every variable name (comments and empty lines are ignored). - `pb secrets set KEY=VALUE [...]` adds or updates one or more key/value pairs while leaving the other file entries untouched. - `pb secrets delete KEY [...]` removes the named entries. ## Deployment Remember to point the domain configured in `pb.toml` at the server.