Deploying this website (lessdb.dev)

Deploying this website (lessdb.dev)

The site itself is fully static — docs, playbooks, use cases, downloads catalog, and the interactive architecture diagram. No build step, no runtime: Cloudflare Pages serves the files straight from the repo's website/ directory.

Build the content

Docs pages are generated from the repo's markdown so the site never drifts from the source of truth:

python3 scripts/build-site.py     # docs/*.md + website/content/** -> website/

Deploy with wrangler

cd website
wrangler pages deploy . --project-name lessdb --branch main

Custom domain (one-time, or via the dashboard → Pages → lessdb → Custom domains):

POST /accounts/<ACCOUNT_ID>/pages/projects/lessdb/domains
  { "name": "lessdb.dev" }

Cloudflare provisions the DNS record automatically (the zone must be in the same account). www.lessdb.dev is added the same way.

Release binaries (downloads)

scripts/package-release.sh builds the release binaries (macOS arm64 + Linux x86_64, base and cloud variants), tars them with checksums, and uploads them to the public R2 bucket lessdb-downloads:

wrangler r2 object put lessdb-downloads/lessdb-v0.1.0-aarch64-apple-darwin.tar.gz \
  dist/lessdb-v0.1.0-aarch64-apple-darwin.tar.gz

The install script on the site (/install.sh) picks the right archive for the visitor's OS/arch and verifies the SHA-256. The bucket is served at its public r2.dev URL (configured in scripts/package-release.sh).

Iterating