单个 Rust 二进制文件实现的自托管 Cloudflare Workers 兼容平台,可在一台机器上运行 Workers、KV、D1、R2 等服务。
denoland/celld
一个自托管守护进程,可在自己的机器上运行 Cloudflare Workers 应用和 Durable Objects,状态保存在对象存储桶中。
- Star
- 6,057
- Fork
- 408
- 未关闭 Issue
- 71
- 最近提交
- 21小时前
这是什么?
celld 可以在自己的机器上运行 Cloudflare Workers 应用,直接使用现有的 wrangler.json 部署,支持 Workers、Durable Objects、KV、Queues、D1、R2、Workflows、Cron Triggers 和静态资源。每个 Durable Object 对应一个带名称的 cell,拥有独立的 SQLite 数据库,长期状态保存在 S3 兼容存储、Google Cloud Storage 或 Azure Blob Storage 存储桶中。
每个节点是一个嵌入 V8 的 celld 进程,用来执行 Wrangler 打包产物。共享同一存储桶的节点组成一个集群。每个 cell 的所有权通过条件写入存储桶获得,因此同一时刻只有一个节点拥有该 cell,无需额外的共识或控制平面服务。节点数达到两个及以上时,已提交的 SQLite 写入会先复制到其他节点,写入延迟低于单节点等待存储桶的方式。
项目还提供命令行工具,用于运维已部署的集群,包括健康诊断、cell 列表、D1 迁移、KV 批量导入、R2 对象读写以及 Queue 控制。无需云存储桶即可通过 celld dev 进行本地开发。
核心功能
- 01在自有节点上运行 Workers、Durable Objects、KV、Queues、D1、R2、Workflows 和 Cron Triggers。
- 02可直接使用现有 wrangler.json 部署,Worker 代码由 esbuild 打包。
- 03每个 Durable Object 拥有独立的 SQLite 数据库,所有权通过存储桶条件写入获取。
- 04长期状态可存放在 S3 兼容存储、Google Cloud Storage 或 Azure Blob Storage 中。
- 05多节点集群中将写入复制到其他节点,以降低写入延迟。
- 06提供无需云存储桶的本地开发模式 celld dev。
适用场景
- 在自有基础设施上运行 Cloudflare Workers 风格的后端服务。
- 托管有状态的 Durable Object 应用,并将数据保存在自有对象存储中。
- 将现有 Wrangler 项目从 Cloudflare 托管平台迁移出来。
- 在部署前本地测试 Workers 与 Durable Objects。
快速上手
- 1
运行 README 中的官方安装脚本,安装 celld 二进制文件
- 2
安装 esbuild 并将其加入 PATH,因为 Worker 项目需要它
- 3
在本地运行应用,无需云存储桶
celld dev
使用前须知
- Worker 项目还需要将 esbuild 加入 PATH。
- 单节点每次写入都要等待存储桶,速度明显变慢;如果关注延迟,建议运行两个或更多节点。
- 需要 Cloudflare 网络、GPU 或浏览器集群的产品不在支持范围内。
- 容器功能标注为实验性。
收录于专题
标签
常见问题
- celld 是什么?
- 一个自托管守护进程,可在自己的机器上运行 Cloudflare Workers 应用和 Durable Objects,状态保存在对象存储桶中。 celld 可以在自己的机器上运行 Cloudflare Workers 应用,直接使用现有的 wrangler.json 部署,支持 Workers、Durable Objects、KV、Queues、D1、R2、Workflows、Cron Triggers 和静态资源。每个 Durable Object 对应一个带名称的 cell,拥有独立的 SQLite 数据库,长期状态保存在 S3 兼容存储、Google Cloud Storage 或 Azure Blob Storage 存储桶中。
- celld 可以免费使用吗?用的什么许可证?
- celld 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- celld 还在维护吗?
- 活跃维护中。celld 最近一次提交是在 2026年10月21日。
- celld 适合用来做什么?
- 在自有基础设施上运行 Cloudflare Workers 风格的后端服务。 托管有状态的 Durable Object 应用,并将数据保存在自有对象存储中。 将现有 Wrangler 项目从 Cloudflare 托管平台迁移出来。 在部署前本地测试 Workers 与 Durable Objects。
- celld 怎么安装和运行?
- 运行 README 中的官方安装脚本,安装 celld 二进制文件 安装 esbuild 并将其加入 PATH,因为 Worker 项目需要它 在本地运行应用,无需云存储桶: celld dev
- 在哪里获取 celld?
- 源代码和安装说明在 GitHub 上:https://github.com/denoland/celld
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
以 Durable Object 为存储单元的 Git 服务器,可部署在 Cloudflare Workers 或自建于 celld。
基于 Cloudflare Durable Objects 构建持久化、有状态 AI Agent 的 TypeScript SDK。
一个开源的智能体平台,通过自然语言描述构建并部署全栈应用,完全运行在 Cloudflare 上。
基于 Cloudflare Worker 的极简服务,每个域名每个 UTC 日生成一篇 AI 写的 Markdown 短文。
面向小型到中型自托管集群的 S3 兼容分布式对象存储,支持跨地域节点部署。