D.O.R.I.S. stands for Durable Offloaded Rust Isomorphic Stack. It's my write-up of a pattern for running Rust on Cloudflare, which I pulled out of a Bitwarden-compatible server (warden-worker) while studying how it fits together. The site is live at doris.bhalala.org.
The pattern
- Rust compiled to WASM, with an Axum router running inside the Worker.
- A thin JS entry that sends WebSockets and CPU-heavy requests to Durable Objects.
- A Durable Object that reuses the same Axum router to get a 30 second CPU budget for heavy work.
- A second Durable Object that fans out WebSocket pushes by tag.
- D1 behind a single
Dbtype. - Cloudflare's own rate limiting and static assets.
- Push to main and it deploys, with separate workflows for prod, dev, and backups.
Why write it down
The Worker CPU limit is the wall everyone hits with Rust on Cloudflare. Routing heavy calls to a Durable Object running the same router gets around it without a second codebase.