Repolode
elliothux

elliothux/open-compute

Workers、KV、D1、R2などを1台で実行できる、単一のRustバイナリで提供されるセルフホスト型プラットフォーム。

代替できる製品:Cloudflare Workers

スター
1,981
フォーク
76
未解決の Issue
18
最終コミット
12 時間前

これは何?

open-computeは、自分で管理するマシン上でCloudflare Workersのプログラミングモデルを実行します。workerdランタイム、コントロールプレーン、スケジューラー、各種プロダクトのバインディングを1つの`ocd`実行ファイルにまとめているため、ホストにコピーしてデータディレクトリを指定すれば、トラフィックを処理できます。プラットフォームのメタデータにはSQLiteを使い、オブジェクトのバイトデータはデフォルトでローカルストレージに保存します。S3互換ストレージも任意で利用できます。

標準的なモジュールWorker(`export default { fetch }`)を対象とし、KV、R2、D1、Durable Objects、Queues、Cron、Workflows、Cache、Vectorize、AI Searchなどのバインディングに対応しています。`/client/v4`にCloudflare v4互換APIを提供しているため、cf CLIや公式SDKからデプロイでき、オペレーター向けDashboardも備えています。デプロイはイミュータブルで、コンテンツアドレス方式を採用しています。また、各インスタンスは独自の権限情報とデータディレクトリを持ちます。

マルチリージョンのエッジネットワークではなく、単一ノードで動作するシステムです。Hyperdrive、Analytics Engine、Workers for Platformsなど、一部のCloudflareプロダクトにはまだ対応していません。互換性はモジュールごとに追跡されており、Cloudflareとの相違点も記載されています。

主な機能

  • 01KV、R2、D1、Durable Objects、Queues、Workflowsのバインディングを使って、標準的なモジュールWorkerを実行します。
  • 02ランタイム、コントロールプレーン、スケジューラーを含む単一のRustバイナリとして提供されます。
  • 03プラットフォームのメタデータをSQLiteに保存し、オブジェクトストレージにはローカルストレージまたはS3互換ストレージを利用できます。
  • 04Cloudflare v4互換APIを提供し、cf CLIや公式SDKからデプロイできます。
  • 05オペレーター向けDashboardと、インスタンスごとのデータディレクトリを備えています。
  • 06ネイティブ拡張機能をサポートし、Service BindingsとしてWorkerに公開できます。

ユースケース

  • Cloudflareのネットワークに依存せず、自分のサーバーでCloudflare Workers形式のアプリをホストする。
  • 互換性のあるランタイムを使い、ローカルでWorkerを開発・テストする。
  • オンプレミス環境でデータをローカル管理しながら、エッジ風の関数を実行する。

クイックスタート

  1. 1

    ユーザー用のリリースバイナリをインストールする

    curl -fsSL https://open-compute.dev/install.sh | sh
  2. 2

    デフォルトのユーザー所有インスタンスを作成し、そのサービスを起動する

    ocd setup --yes
  3. 3

    インスタンスが実行中であることを確認する

    ocd status
  4. 4

    ダッシュボードを開く

    ocd dashboard

使う前に知っておきたいこと

  • open-computeはまだ初期段階にあるため、Cloudflareとは動作が異なる場合があります。
  • 対応OSはmacOSとLinuxのみです。
  • Workers AI(20%)やContainers(計画中)など、一部のバインディングは部分的な対応にとどまるか、まだ利用できません。

トピック

よくある質問

open-compute とは?
Workers、KV、D1、R2などを1台で実行できる、単一のRustバイナリで提供されるセルフホスト型プラットフォーム。 open-computeは、自分で管理するマシン上でCloudflare Workersのプログラミングモデルを実行します。workerdランタイム、コントロールプレーン、スケジューラー、各種プロダクトのバインディングを1つの`ocd`実行ファイルにまとめているため、ホストにコピーしてデータディレクトリを指定すれば、トラフィックを処理できます。プラットフォームのメタデータにはSQLiteを使い、オブジェクトのバイトデータはデフォルトでローカルストレージに保存します。S3互換ストレージも任意で利用できます。
open-compute は無料で使えますか?ライセンスは?
open-compute は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
open-compute は今もメンテナンスされていますか?
活発にメンテナンス中。open-compute の最終コミットは 2026年10月19日 です。
open-compute は何に使えますか?
Cloudflareのネットワークに依存せず、自分のサーバーでCloudflare Workers形式のアプリをホストする。 互換性のあるランタイムを使い、ローカルでWorkerを開発・テストする。 オンプレミス環境でデータをローカル管理しながら、エッジ風の関数を実行する。
open-compute のインストール方法は?
ユーザー用のリリースバイナリをインストールする: curl -fsSL https://open-compute.dev/install.sh | sh デフォルトのユーザー所有インスタンスを作成し、そのサービスを起動する: ocd setup --yes インスタンスが実行中であることを確認する: ocd status ダッシュボードを開く: ocd dashboard
open-compute はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/elliothux/open-compute

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト