Skip to content

rubberduck docs

Scales to zero · 25× faster groupbys · stay on Cloudflare

Deploy ​

Quick path: wrangler + three Cloudflare bindings (Workers, R2, D1). Needs Workers Paid.

bash
pnpm install
# set account_id, D1 id, R2 bucket in:
#   apps/cf-app/wrangler.toml
#   apps/cf-duckdb/wrangler.toml

cd apps/cf-duckdb
wrangler secret put R2_ACCESS_KEY_ID
wrangler secret put R2_SECRET_ACCESS_KEY
wrangler secret put R2_ACCOUNT_ID

pnpm --filter @pdo/cf-app db:migrate:remote
pnpm deploy:cf

deploy:cf ships pdo-duckdb first, then pdo (service binding).

Samples ​

bash
pnpm generate:samples && pnpm upload:samples

Orgs: org_tpch, org_clickbench.

Local lab ​

bash
pnpm seed && pnpm demo && pnpm memory-boundary && pnpm bakeoff

Docs site ​

Live: https://pdo-docs.pages.dev

bash
pnpm docs:dev
pnpm docs:build
pnpm docs:deploy

Scales to zero. 25× faster than D1 on groupbys. No need to go to another provider.