Cloudflare only
Your own Cloudflare account is the whole backend: one Worker, one D1 database and one R2 bucket.
What it does
Each Cloudflare account holds one Worker, one D1 database and one R2 bucket, and the Worker sits on a route, <host>/_p99/*, in front of each of your sites. A route runs before a Pages project, a tunnel or another Worker on that host, so P99 never touches the site itself.
The p99 binary carries the Worker, the loader, the panel and the database migrations, and uploads that same build to every account.
-
Setup that explains itself
p99 setupsays which Cloudflare API token to create, where, and why each permission is needed. It checks the token and every permission, then creates the D1 database, the R2 bucket, the key, the Worker and a route for each site. It is safe to run again, and a second account goes in beside the first. -
Signed requests
Every request the CLI and TUI send is signed with HMAC-SHA256 and refused when its time is more than 60 s away.
-
Weekly backups
A weekly backup of every table goes into the account's own R2 bucket, and the last eight are kept.
Measured
- The p99 binary (3.2 MB gzipped), 14 direct crates, with the Worker and the widget inside
- 7.1 MB
- How it was measured
How to use it
-
Put P99 on your Cloudflare account, step by step.
p99 setup -
Upload a new version later, keeping every secret.
p99 deploy