celld
SHA-256セルフホスト型の分散Durable Objectsデーモンで、自分のマシン上でCloudflare Workersを実行できます。各オブジェクトは独立したSQLiteデータベースであり、S3ストレージバケットを介してのみ調整され、コントロールプレーンや合意形成メカニズムは不要です。Cloudflareを直接使用する場合と比較して、celldは完全なデータ所有権とゼロロックインを提供します。汎用の分散データベースと比較して、構造上自然にシャーディングされ、各オブジェクトが独立したデータベースを持ちます。
スマートダウンロード
Download 版をダウンロード
v0.1.0 · 20.3 MB
データベースを実行するように各Workerオブジェクトを実行し、シャーディング内蔵、セルフホスティング、コントロールプレーン不要。
主な機能
- 各Durable Objectは独立したSQLiteデータベースであり、自然にシャーディングされ、単一障害点の影響は極めて小さい
- ノードはS3互換ストレージバケットのみを通じて連携し、コントロールプレーンなし、合意形成サービスも不要
- アイドルユニットは自動的にスリープし、リソース消費はほぼゼロ
- 標準のAWS認証情報チェーンをサポートし、R2、MinIO、AWS S3などと互換性がある
- diagnoseコマンドを内蔵し、ノードの死活、プロトコル互換性、リソース負荷を確認できる
できないこと
- •celld のノード間 HTTP 通信は TLS 暗号化を提供しないため、アドバタイズアドレスは信頼できるプライベートネットワークまたは暗号化オーバーレイネットワーク(WireGuard/Tailscale など)内に置き、パブリックポートを直接公開しないこと。バケットのアクセス認証情報はフリート全体の管理者権限に相当するため、必ず適切に保管すること。S3 互換バケットを事前に計画しておく必要があり、各ノードが同じバケットを指して初めて連携して動作できる。現在の本番環境ではデフォルトで負荷オフロードが無効になっているため、CELLD_MAX_RESIDENT_CELLS などの環境変数を自ら設定して有効にする必要がある。
使用例
- 自分のサーバーまたはプライベートネットワーク上でCloudflare WorkersとDurable Objectsを実行する、完全なデータ主権を必要とし、クラウドベンダーロックインを回避するエッジコンピューティングまたはリアルタイムアプリケーション
詳細説明
celld はオープンソースのデーモンで、自分のマシン上で Cloudflare Workers と Durable Objects を実行できます。各オブジェクトは独立した SQLite データベースであり、名前でアドレス指定され、自分が所有する S3 互換ストレージバケットに複製されます。ノードはそのストレージバケットを通じてのみ調整されます。コントロールプレーンも、メンバーシッププロトコルも、合意形成サービスもありません。オブジェクトストレージの「compare-and-swap」操作により、常に1つのノードだけが特定のセルを所有することが保証されます。アイドル状態のセルはスリープし、リソースをほとんど消費しません。ストレージバケットが永続的な真実の源泉であり、ノードはいつでも交換できます。この設計により、アプリケーションは自然にシャーディングされ、単一の共有データベースと比較して、競合を回避し、障害の爆発半径を縮小します。プロジェクトは Apache-2.0 ライセンスを採用しており、Deno Land 社によって積極的にメンテナンスされています。
タグ
はじめ方
ソフトウェアをインストール
ダウンロードしたインストーラをダブルクリックし、指示に従ってください
インストールスクリプトで celld バイナリをダウンロード: curl -fsSL https://celld.dev/install.sh | sh
~/.local/bin を PATH に追加し(プロンプトが表示された場合)、esbuild がインストールされていることを確認してください(celld deploy に必要)
celld deploy . --bucket s3://your-bucket を実行してアプリケーションをデプロイし、その後 celld --bucket s3://your-bucket --listen 0.0.0.0:8080 --advertise your-ip:8080 を起動してください
- インストールスクリプトで celld バイナリをダウンロード: curl -fsSL https://celld.dev/install.sh | sh
- ~/.local/bin を PATH に追加し(プロンプトが表示された場合)、esbuild がインストールされていることを確認してください(celld deploy に必要)
- celld deploy . --bucket s3://your-bucket を実行してアプリケーションをデプロイし、その後 celld --bucket s3://your-bucket --listen 0.0.0.0:8080 --advertise your-ip:8080 を起動してください
SHA-256 チェックサム確認済み
GitHub 公式 Release ページから抽出されたチェックサム
SHA256 チェックサム
139354c28618fe648864598f5cdf69ae91a176b32b90418a813e026e86be9a7cこのチェックサムは GitHub Release ページから抽出されたものです。ダウンロード後にファイルの整合性を確認してください。
本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。
オープンソースの透明性
GitHub ソースを見るアンインストール情報
公式のアンインストールスクリプトを実行すれば安全に削除できます:curl -fsSL https://celld.dev/uninstall.sh | sh。スクリプトはインストール済みのバイナリとバージョンファイルをクリーンアップします。
追加の依存関係なし
ダウンロード後すぐに使用可能。追加のランタイムは不要です。