Repolode
denoland

denoland/celld

Самостоятельно размещаемый демон для запуска приложений Cloudflare Workers и Durable Objects на своих машинах с хранением состояния в бакете S3, GCS или Azure.

Open source альтернатива:Cloudflare Workers

Звёзды
6,057
Форки
408
Открытые issues
71
Последний коммит
20 часов назад

Что это?

celld запускает приложение Cloudflare Workers на ваших машинах. Он разворачивает приложения напрямую из существующего wrangler.json и поддерживает Workers, Durable Objects, KV, Queues, D1, R2, Workflows, Cron Triggers и статические ресурсы. Для каждого Durable Object создаётся именованная ячейка со своей базой данных SQLite, а долгосрочное состояние хранится в бакете S3-совместимого хранилища, Google Cloud Storage или Azure Blob Storage.

Каждый узел — это отдельный процесс celld, в который встроен V8 и который выполняет бандлы Wrangler. Узлы, использующие общий бакет, образуют кластер. Владение каждой ячейкой назначается условной записью в бакет, поэтому одновременно ячейкой владеет только один узел; отдельный сервис консенсуса или плоскости управления не требуется. Если узлов два или больше, подтверждённые записи SQLite сначала реплицируются на соседние узлы и только затем загружаются в бакет. Это снижает задержку записи по сравнению с одним узлом, который ждёт завершения загрузки в бакет.

В проект также входят CLI-команды для управления развёрнутым кластером: диагностика, просмотр списка ячеек, миграции 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Предоставляет локальный режим разработки, который работает без облачного бакета.

Сценарии использования

  • Запуск бэкенда в стиле Cloudflare Workers на собственной инфраструктуре.
  • Размещение приложений с состоянием на базе Durable Objects и хранение данных в собственном объектном хранилище.
  • Перенос существующих проектов Wrangler с размещённой платформы Cloudflare.
  • Локальное тестирование Workers и Durable Objects перед развёртыванием.

Быстрый старт

  1. 1

    Запустите официальный скрипт установки из README, чтобы установить бинарный файл celld

  2. 2

    Установите esbuild и добавьте его в PATH, поскольку он нужен проектам Worker

  3. 3

    Запустите приложение локально без облачного бакета

    celld dev

Что важно знать

  • Проектам Worker также требуется, чтобы esbuild был добавлен в PATH.
  • При использовании одного узла каждая запись ожидает ответа от бакета, поэтому запись выполняется значительно медленнее; для снижения задержки рекомендуется использовать два узла или больше.
  • Сервисы, которым нужны сеть Cloudflare, GPU или ферма браузеров, не входят в область поддержки.
  • Поддержка контейнеров помечена как экспериментальная.

Темы

Частые вопросы

Что такое celld?
Самостоятельно размещаемый демон для запуска приложений Cloudflare Workers и Durable Objects на своих машинах с хранением состояния в бакете S3, GCS или Azure. celld запускает приложение Cloudflare Workers на ваших машинах. Он разворачивает приложения напрямую из существующего wrangler.json и поддерживает Workers, Durable Objects, KV, Queues, D1, R2, Workflows, Cron Triggers и статические ресурсы. Для каждого Durable Object создаётся именованная ячейка со своей базой данных SQLite, а долгосрочное состояние хранится в бакете S3-совместимого хранилища, Google Cloud Storage или Azure Blob Storage.
celld можно использовать бесплатно? Какая у него лицензия?
celld распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
celld всё ещё поддерживается?
Активно поддерживается. Последний коммит в celld — 21 окт. 2026 г..
Для чего можно использовать celld?
Запуск бэкенда в стиле Cloudflare Workers на собственной инфраструктуре. Размещение приложений с состоянием на базе Durable Objects и хранение данных в собственном объектном хранилище. Перенос существующих проектов Wrangler с размещённой платформы Cloudflare. Локальное тестирование Workers и Durable Objects перед развёртыванием.
Как установить celld?
Запустите официальный скрипт установки из README, чтобы установить бинарный файл celld Установите esbuild и добавьте его в PATH, поскольку он нужен проектам Worker Запустите приложение локально без облачного бакета: celld dev
Где скачать celld?
Исходный код и инструкции по установке — на GitHub: https://github.com/denoland/celld

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Минималистичный Cloudflare Worker, который ежедневно по UTC выдаёт одно эссе в формате Markdown, созданное ИИ, для каждого домена и кэширует его, чтобы обращаться к модели не чаще раза в день.

299TypeScriptMITОбновлён 7 часов назад