AIエージェント向けのワークスペースを提供する、Cloudflare Durable Object内の仮想ファイルシステム
littledivy/durable-git
Cloudflare Workersまたはcelld上でセルフホストできる、各リポジトリをDurable Objectとして扱うGitサーバー。
代替できる製品:GitHub
- スター
- 264
- フォーク
- 13
- 未解決の Issue
- 0
- 最終コミット
- 2 か月前
これは何?
dgitはCloudflare Durable Objects上に構築されたGitサーバーです。各リポジトリは独立したオブジェクトで、Gitオブジェクトとrefsを保存する専用のSQLiteデータベースを持ち、Git smart HTTPプロトコルに対応しています。そのため、標準のgitクライアントでclone、fetch、pushできます。ファイルシステムもoriginサーバーも不要で、アクセスされないリポジトリのコストはほとんどかかりません。読み取りは公開されており、pushにはトークンが必要です。新しい名前にpushすると、リポジトリが作成されます。
このプロジェクトは、pkt-lineのフレーミング、delta解決を含むpackfileの解析、packの生成、Myers diffなど、Gitの機能をTypeScriptで実装しています。R2バケットをバインドすると、packのバイト列はR2に保存され、インデックスはSQLiteに残ります。また、フルcloneはキャッシュされ、Workerからストリーミング配信されます。shallow clone、増分fetch、強制更新にも対応しています。
組み込みのWebインターフェースはcgitのレイアウトを踏襲しており、ログ、ツリー、シンタックスハイライト付きのblob表示、blame、diff、format-patch出力、tar.gzおよびzip形式のスナップショット、Atomフィードを利用できます。また、このパッケージをライブラリとして使い、独自の認可処理やpushフックを定義することもできます。
主な機能
- 01標準のgitクライアントを変更せずに使える、Git smart HTTPプロトコルを提供
- 02各リポジトリを専用のDurable ObjectとSQLiteに保存
- 03packの保存とフルcloneのキャッシュに使えるオプションのR2バケット
- 04shallow clone、増分fetch、thin packに対応
- 05ログ、blame、diff、スナップショットを備えたcgit風のWebインターフェースを提供
- 06ライブラリとして利用でき、独自の認可処理やpushフックを設定可能
ユースケース
- サーバーを管理せずに、Cloudflare Workers上で非公開のGitリポジトリをホスティングする
- レプリケーションされたストレージを使い、celld上でGitサーバーをセルフホストする
- 既存のアプリケーションに、独自のアクセス制御を備えたGitホスティングを追加する
- Webインターフェースからリポジトリの履歴を閲覧し、スナップショットをダウンロードする
クイックスタート
- 1
依存関係をインストールする
npm install - 2
Worker を Cloudflare にデプロイする
npx wrangler deploy - 3
push password をシークレットに設定する
npx wrangler secret put GIT_TOKEN - 4
デプロイしたホストをリモートとして追加し、push する
git remote add origin https://<your-host>/myrepo.git
使う前に知っておきたいこと
- プルリクエストは無効です。コントリビューションはメールで git format-patch を送ってください。
- 全履歴を含む非常に大きなクローンは Cloudflare Workers の CPU 制限を超える場合があります。最大規模のリポジトリには celld の利用をおすすめします。
- Cloudflare Workers へのデプロイには、メモリと CPU のリクエスト上限があります。
トピック
よくある質問
- durable-git とは?
- Cloudflare Workersまたはcelld上でセルフホストできる、各リポジトリをDurable Objectとして扱うGitサーバー。 dgitはCloudflare Durable Objects上に構築されたGitサーバーです。各リポジトリは独立したオブジェクトで、Gitオブジェクトとrefsを保存する専用のSQLiteデータベースを持ち、Git smart HTTPプロトコルに対応しています。そのため、標準のgitクライアントでclone、fetch、pushできます。ファイルシステムもoriginサーバーも不要で、アクセスされないリポジトリのコストはほとんどかかりません。読み取りは公開されており、pushにはトークンが必要です。新しい名前にpushすると、リポジトリが作成されます。
- durable-git は無料で使えますか?ライセンスは?
- durable-git は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- durable-git は今もメンテナンスされていますか?
- 半年以内に更新あり。durable-git の最終コミットは 2026年8月21日 です。
- durable-git は何に使えますか?
- サーバーを管理せずに、Cloudflare Workers上で非公開のGitリポジトリをホスティングする レプリケーションされたストレージを使い、celld上でGitサーバーをセルフホストする 既存のアプリケーションに、独自のアクセス制御を備えたGitホスティングを追加する Webインターフェースからリポジトリの履歴を閲覧し、スナップショットをダウンロードする
- durable-git のインストール方法は?
- 依存関係をインストールする: npm install Worker を Cloudflare にデプロイする: npx wrangler deploy push password をシークレットに設定する: npx wrangler secret put GIT_TOKEN デプロイしたホストをリモートとして追加し、push する: git remote add origin https://<your-host>/myrepo.git
- durable-git はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/littledivy/durable-git
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Workers、KV、D1、R2などを1台で実行できる、単一のRustバイナリで提供されるセルフホスト型プラットフォーム。
AIエージェントやワークフローを構築できるfair-codeの自動化プラットフォーム。ビジュアルキャンバスとカスタムコード、1,500以上の連携機能を備えています。
Airtableに代わるセルフホスト可能なオープンソース製品。SQLデータベースを表計算風のUIと自動生成APIに変換します。
会議予約やカレンダー管理に使える、MITライセンスのオープンソース・セルフホスト型スケジューリングプラットフォーム
25以上のデータベースやあらゆるAPIに接続できる、管理画面・社内ツール・ダッシュボード構築向けのオープンソース低コードプラットフォーム。