# pb A simple, rsync-based PocketBase deployment tool. ## Commands ### `init` Start a new PocketBase project (optionally provide a service name via `pb init `) with a `pb.toml`: ```toml [server] ip = '127.0.0.1' port = 8090 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. ### `setup` Provision a remote PocketBase server. 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.