Self-hosted Cloudflare Workers in Rust
OpenWorkers is an open-source runtime for executing JavaScript in V8 isolates. It brings the power of edge computing to your own infrastructure.
┌─────────────────┐
│ nginx (proxy) │
└────────┬────────┘
│
┌───────────────┬────────┴──┬───────────────┐
│ │ │ │
│ │ │ │
┌────────┸────────┐ ┌────┸────┐ ┌────┸────┐ ┌────────┸────────┐
│ dashboard │ │ api │ │ logs * │ │ runner (x3) * │
└─────────────────┘ └────┬────┘ └────┰────┘ └────────┰────────┘
│ │ │
│ │ │
┌────────┸────────┐ │ ┌────────┸────────┐
│ postgate * │ └──────┥ nats │
└─────────────────┘ └────────┰────────┘
│
│
┌─────────────────┐ ┌──────┴───────┐
* ─────┥ PostgreSQL │ │ scheduler * │
└─────────────────┘ └──────────────┘ +-------------+
| nginx proxy |
+------+------+
|
+-------+-------+-------+--------+
| | | |
+--+--+ +--+--+ +--+---+ +----------+-+
| dash| | api | |logs *| | runner * x3|
+-----+ +--+--+ +--+---+ +-----+------+
| | |
+-----+----+ | +------+-----+
|postgate *| +----+ nats |
+-----+----+ +------+-----+
| |
+-----+------+ +------+-----+
*-| PostgreSQL | | scheduler *|
+------------+ +------------+Deployment is designed to be simple. A single PostgreSQL database and a single Docker Compose file is all you need.
This project has been evolving for about 7 years. I started experimenting with vm2 for sandboxing JS, then Cloudflare launched Workers and I got hooked on the model. When Deno came out, I switched to deno-core and ran on that for two years. Recently, with Claude's help, I rewrote everything on top of rusty_v8 directly.
The goal has always been the same: run JavaScript on your own servers, with the same DX as Cloudflare Workers but without vendor lock-in.
Your Data
Never leaves your infrastructure
Predictable Costs
No per-request pricing
No Lock-in
Cloudflare Workers compatible
Next up: Execution recording & replay for deterministic debugging.