celld
Open-source daemon that runs Cloudflare Workers and Durable Objects on your own machines, with state stored in an S3-compatible bucket.
celld is an open-source daemon from Deno that brings Cloudflare's Durable Objects model to any infrastructure you control. Each object is a single-threaded actor paired with its own SQLite database, replicated as LTX segments to a bucket you own — S3-compatible storage or Google Cloud Storage. The bucket itself is the coordination layer, so there is no separate control plane, membership protocol, or consensus service to run.
A fleet is just a set of celld nodes pointed at the same bucket. Deployments, cell state, and small ownership leases live in the bucket; nodes discover peers and acquire cells through compare-and-set writes alone. A cell that no node currently holds costs effectively nothing, and a node can shed idle cells under memory pressure without losing durability. Failover is handled by the next node picking up the lease and restoring the cell from the bucket.
celld executes Wrangler bundles in an embedded V8 runtime, so existing Cloudflare Workers and Durable Objects code runs unchanged. It exposes an HTTP listener for application traffic, an internal listener for peer-to-peer traffic, and an operator API that surfaces leases, resident cells, RSS, and pressure metrics. Each node can be capped with CELLD_MAX_RESIDENT_CELLS and CELLD_MAX_RSS_MB.
Compared to Cloudflare Durable Objects, celld moves placement, state, and operational evidence into infrastructure you choose. The trade-off is operational responsibility — you run the nodes and pick the bucket provider — in exchange for predictable costs at scale (a $48 / 8 GB node can hold around 2,500 resident cells) and a failure domain you can inspect with sqlite3 and grep.