Docker によるセルフホスト型ブロックチェーンタイムスタンプ
セルフホスト型ブロックチェーンタイムスタンプは、インフラの意思決定である前に、購入の意思決定です。問うべきは「これを自分たちで運用できるか」だけではなく、「信頼の境界線をどこに置きたいか」です。Timestamp GIT の Docker セルフホストオプションは、タイムスタンプ処理パイプラインを外部 SaaS に委ねることなく、また基盤となる OpenTimestamps プロトコルを学ぶことなく、Git コミットの Bitcoin への自動アンカリングを求めるチームを対象としています。Docker Compose スタックをインストールし、GitHub App を一度接続するだけで、同じプロダクションビルドを自社サーバーで実行できます。
この記事は商用評価のためのものです。得られるもの、価格の比較方法、セルフホスティングが報われるタイミング、そしてクラウド SaaS から自社インフラへの移行方法について説明します。
ブロックチェーンタイムスタンプをセルフホストする理由
マネージド型の Timestamp GIT SaaS は、すでにソースコードをパイプラインの外に置いています。コミットハッシュのみを扱い、証明を生成し、毎晩自動的に Bitcoin へアンカリングします。セルフホスティングはプライバシー問題の修正ではなく、コントロールの意思決定です。
セルフホスティングが理にかなうのは、次のような場合です。
- データレジデンシーの保証が必要な場合。コミットハッシュ、マニフェストファイル、証明レシートは、自社が所有するインフラ上に留まります。
- エアギャップ環境や厳格に規制された環境で運用しており、プロダクションサービスが外部 SaaS の稼働状況に依存できない場合。
- コンプライアンスチームが、タイムスタンプ成果物が自社管理のリポジトリに書き込まれる前に企業ネットワークの外に出ることを禁じている場合。
- 毎晩の自動アンカリング、API エンドポイント、検証バッジ、Bitcoin アンカー証明を維持しながら、スタック全体をエンドツーエンドで所有したい場合。
クラウド SaaS では、Timestamp GIT がハッシュのバッチ処理、Merkle ツリーの構築、アンカーの送信を行うワーカーを運用します。Docker イメージでは、その同じプロダクションビルドを自分で実行します。暗号学的な結果は同一です。Timestamp GIT が消滅しても検証可能な、Bitcoin にアンカーされた証明レシートです。
タイムスタンプを通常の Git ログと比較している段階であれば、存在証明モデルについては「ソフトウェアコードの存在証明とは?」で説明されています。セルフホスティングはそのモデルを変えるものではなく、自動化を誰が実行するかを変えるものです。
Docker デプロイメントで得られるもの
セルフホスト型デプロイメントは、2 つのサービスを使用します。Timestamp GIT アプリケーションと、保留中ハッシュキューに使用されるインメモリのキーバリューストアである Valkey です。
最小限の Docker Compose セットアップは次のようになります。
services:
timestampgit:
image: rue1401/timestampgit:prod
ports:
- "8080:8080"
volumes:
- ./data:/app/data
restart: unless-stopped
valkey:
image: valkey/valkey:8
restart: unless-stopped
次のコマンドで起動します。
docker compose pull
docker compose up -d
docker compose logs -f timestampgit
コンテナが起動すると、アプリケーションは http://localhost:8080 で利用可能になります。初回起動時には、セットアップウィザードが GitHub App の接続とインスタンスの設定を案内します。
Docker イメージは、Timestamp GIT SaaS で使用されているものと同じプロダクションビルドです。つまり、セルフホスト版にはコアパイプラインが含まれています。
- GitHub App または GitHub Action による自動コミット検出。
- 毎晩のハッシュバッチ処理とマニフェスト作成。
- Merkle ツリー構築と OpenTimestamps による Bitcoin アンカリング。
- 専用の timestamps ブランチまたはシャドウリポジトリへの証明の配信。
- 公開ステータスエンドポイント、検証バッジ、監査 CSV エクスポート、PDF 証明書。
Bitcoin ブロックチェーンでの承認には通常数時間かかるため、証明の書き込みは即時ではありません。深夜のワーカーが保留中のハッシュをグループ化し、日次の Merkle ルートをアンカリングします。結果はステータス API で確認できます。
curl http://localhost:8080/api/statusLast/your-org/your-repo
セルフホスト版の価格とライセンス
Timestamp GIT の SaaS 価格はシンプルです。セルフホストライセンスは異なるモデルに従います。評価用に期間限定のデモライセンスをリクエストし、その後プロダクション用のフルライセンスを取得します。
| デプロイメント | 製品情報での価格 | 最適な用途 |
|---|---|---|
| オープンソース | 無料 | パブリックリポジトリと評価 |
| Pro Agency | $49/月 | プライベートリポジトリ、代理店のクライアント作業 |
| Enterprise ZK | $199/月 | GitHub Actions ワークフロー、ソースリポジトリの読み取りアクセス不要 |
| Docker セルフホスト | 評価用デモライセンス、プロダクションライセンスは要リクエスト | オンプレミス、エアギャップ、規制対象環境 |
Docker License ページにはリクエストフォームの説明があります。評価するには、名前、会社、メールアドレス、任意の電話番号を送信します。期間限定のデモライセンスファイルがダウンロード可能になります。
製品情報では、プロダクションのセルフホストライセンスが買い切りかサブスクリプションかは明記されていません。これは想定ではなく、ベンダー固有の価格交渉として扱ってください。比較において重要なのは、セルフホストライセンスが SaaS の運用コストを月額サブスクリプションから自社インフラ予算に移すということです。
完全なインフラコントロールが必要ない場合は、通常 SaaS ティアの方が早い道です。「GitHub App 自動化モデル」は、Docker、サーバー、メンテナンスなしでゼロセットアップのタイムスタンプを提供します。
セルフホスティングの費用対効果と ROI
セルフホスト型ブロックチェーンタイムスタンプの ROI は、3 つの変数に依存します。リポジトリ数、規制圧力、先行技術の証明コストです。
小規模では、SaaS の Pro Agency プラン($49/月)に勝つのは難しいでしょう。大規模では、環境ごとや統合ごとのマネージドインフラに支払う必要がなくなるため、セルフホスティングはコストを平準化できます。Compose ファイルは単一のアプリケーションインスタンスと Valkey を実行するため、主な経常コストはサーバー、/app/data 用のストレージ、アンカリング時のネットワークアクセス、ライセンス維持費になります。
より大きな経済的利益は防御的なものです。暗号学的な先行技術は、特許トロールがあなたが数ヶ月または数年前に構築したものを主張してきたときに重要になります。不変のタイムスタンプがなければ、高額なディスカバリー、ライセンス交渉、または訴訟に直面する可能性があります。この特定のリスクについては、「特許トロールから身を守るための Git コミットのタイムスタンプ」を参照してください。
セルフホスティングは、別の種類の依存性も軽減します。マネージド SaaS が停止した場合、毎晩のバッチが遅延する可能性があります。セルフホストの Timestamp GIT では、ワーカーをいつ実行し、いつ Bitcoin アンカーを試みるかを制御できます。これは Bitcoin ネットワーク接続の必要性をなくすものではありませんが、外部サービスを運用上の単一障害点から除外します。
ROI モデルに含めるべき運用コスト:
- Docker ホストのリソースと永続データ用のディスク。
- プロダクション使用のライセンス料。
- アップデート、バックアップ、コンテナメンテナンスのための内部工数。
- GitHub および Bitcoin インフラへのネットワーク出力。
timestampgitおよびvalkeyサービスの監視とログ保持。
有用な意思決定フレームワーク:
- SaaS を継続:小規模チームで、主にパブリックリポジトリの証明が必要な場合、または Docker インフラを担当できる人がいない場合。
- セルフホストへ移行:多くのリポジトリを運用している場合、ローカルデータレジデンシーが必要な場合、エアギャップシステムを運用している場合、または外部 SaaS 依存を禁じるコンプライアンス要件がある場合。
- ハイブリッドを実行:一部のリポジトリのみが機密である場合。Timestamp GIT は異なるリポジトリを異なるモードで監視できるため、一般的な作業は SaaS に置き、機密性の高い作業は自社インスタンスにルーティングできます。
アップグレードパス:クラウドからセルフホストへ
既存の Timestamp GIT クラウドユーザーは、すでにアンカーされたものを無効にすることなく、セルフホストデプロイメントに移行できます。
理由はシンプルです。すべてのタイムスタンプは Bitcoin ブロックチェーンにアンカーされており、Timestamp GIT サービスから独立しています。証明レシートは、ワーカーが元々どこで実行されていたかに関係なく検証可能です。
実用的な移行パス:
- クラウドのステータスページ、検証ページ、または API エンドポイントから既存の証明レシートと検証データをエクスポートします。
- 自社インフラに Docker Compose スタックをデプロイします。
- セットアップウィザードを完了し、GitHub App を接続します。セルフホストインスタンスは、適切なリポジトリ権限を持つ同じ GitHub App アイデンティティを使用できます。
- セルフホストインスタンスで監視したいリポジトリを再追加します。
- テストコミットを実行し、新しいインスタンスが設定された timestamps ブランチまたはシャドウリポジトリに証明を書き込むことを確認します。
証明の検証は Bitcoin ブロックデータと SHA-256 に依存するため、移行時に古いコミットを再タイムスタンプする必要はありません。古い証明は有効なままです。新しいコミットは、次の毎晩のバッチでセルフホストワーカーによって取得されます。
セルフホスト型 Timestamp GIT の始め方
セルフホストルートを評価している場合は、デモライセンスから始めてください。
- Docker License ページから期間限定のデモライセンスをリクエストします。フォームでは名前、会社、メールアドレス、任意の電話番号を尋ねられます。
- ライセンスファイルをダウンロードし、上記の
timestampgitとvalkeyサービスを含むcompose.yamlファイルを作成します。 docker compose pullを実行してプロダクションイメージを取得します。docker compose up -dを実行してスタックを起動します。http://localhost:8080を開き、初回起動セットアップウィザードを完了します。- GitHub App を接続し、監視したいリポジトリを選択します。
- 証明の保存先を設定し、インスタンスが対象リポジトリに到達できることを確認します。
設定後、インストールをテストします。
docker compose logs -f timestampgit
次に、監視対象リポジトリでテストコミットを作成します。
git commit --allow-empty -m "test: verify self-hosted timestamp"
毎晩のワーカーが実行され、Bitcoin アンカーが承認されるのを待ちます。証明は通常数時間後に表示されます。専用の timestamps ブランチまたはシャドウリポジトリでマニフェストと .ots レシートファイルを確認してください。
一般的な Docker の問題と簡単なチェック:
- 8080 のポート競合:
compose.yamlのホスト側ポートマッピングを変更します(例:"9090:8080")。 - ボリューム権限エラー:
./dataディレクトリがコンテナユーザーによって書き込み可能であることを確認してください。 - アンカリング中の外部ネットワークなし:インスタンスはアンカー時に GitHub と Bitcoin ネットワークインフラへのアクセスが必要です。エアギャップで実行する場合は、接続可能な時間帯にアンカリングをスケジュールしてください。
- Valkey 接続の問題:
docker compose up -dで両方のサービスを一緒に起動し、Timestamp GIT を再起動する前に Valkey が健全であることを確認してください。
FAQ
Q: Timestamp GIT を完全にオフラインまたはエアギャップ環境で実行できますか?
A: はい、Docker セルフホスト版はエアギャップ環境向けに設計されています。インターネットアクセスのないサーバーで実行できますが、Bitcoin ブロックチェーンへのアンカリングには Bitcoin ネットワークへの接続が必要です。ただし、接続が利用可能なときにアンカリングプロセスを実行するようにスケジュールしたり、許可されている場合はローカルの OpenTimestamps カレンダーを使用したりできます。
Q: セルフホスト版はクラウド SaaS とどう違いますか?
A: セルフホスト版は、インフラとデータを完全に制御できます。ハッシュバッチ処理や証明生成を含むすべての処理が自社サーバーで行われます。クラウド SaaS は Timestamp GIT によって管理され、サーバー設定は不要です。機能面では、どちらも毎晩の自動アンカリング、検証バッジ、API アクセスを提供します。
Q: セルフホストライセンスは買い切りですか、それともサブスクリプションですか?
A: セルフホスト Docker イメージのライセンスモデルは、提供された情報では明記されていません。評価用に期間限定のデモライセンスが利用可能です。プロダクション使用にはフルライセンスをリクエストする必要があり、条件(買い切りかサブスクリプションか)はベンダーから提供されます。
Q: 既存のタイムスタンプを失うことなく、クラウド SaaS からセルフホストに移行できますか?
A: はい、すべてのタイムスタンプは Bitcoin ブロックチェーンにアンカーされており、サービスから独立しているため可能です。クラウドから証明レシートと検証データをエクスポートし、セルフホストインスタンスにインポートできます。証明は有効かつ検証可能なままです。
結論
Docker によるセルフホスト型ブロックチェーンタイムスタンプは、インフラコントロール、データレジデンシー、またはエアギャップ運用が、完全マネージド SaaS の利便性を上回る場合に適切な購入です。Timestamp GIT の Docker イメージは、クラウド製品と同じ自動化されたゼロ CLI ワークフローを提供します。GitHub App を一度接続し、毎晩のワーカーにコミットハッシュのバッチ処理を任せ、自社インフラ上で Bitcoin アンカー証明レシートを受け取ります。
期間限定のデモライセンスから始め、Compose スタックを実行し、監視対象リポジトリでフローをテストしてください。そこから、クラウド SaaS を継続するか、完全にセルフホストに移行するか、コンプライアンスとコストモデルに合ったハイブリッドを実行するかを決定できます。
デモライセンスは Timestamp GIT で入手できます。