55 lines
1.3 KiB
Markdown
55 lines
1.3 KiB
Markdown
# pb
|
||
|
||
A simple, rsync-based PocketBase deployment tool.
|
||
|
||
## Commands
|
||
|
||
### `init`
|
||
|
||
Start a new PocketBase project (optionally provide a service name via `pb init <name>`) 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`
|
||
|
||
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.
|