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
wrangler pages dev .— local preview with live reload.
- Commit docs changes →
scripts/build-site.py→wrangler pages deploy
→ live in seconds. There is no queue, no CDN cache to purge (Pages serves fresh assets immediately).