カスタムストレージ
インストール
Capgo supports custom storage solutions for your app bundles, allowing you to host your updates on your own infrastructure or third-party storage services. This is particularly useful for organizations with specific security requirements, compliance needs, or existing storage infrastructure.
Overview
概要Custom storage in Capgo works by uploading your bundle to an external location and providing Capgo with the URL to access it. The Capgo SDK will then download updates directly from your custom storage location instead of Capgo’s default cloud storage.
外部URLアップロード
「外部URLアップロード」のセクションカスタムストレージを使用する最も簡単な方法は、任意のパブリックにアクセス可能なURLにバンドルをアップロードし、そのURLをCapgoに提供することです。
基本的な外部URLアップロード
「基本的な外部URLアップロード」のセクションnpx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zipこのコマンドは、Capgoに、指定されたURLにバンドルを参照するように指示します。Capgoのクラウドストレージにアップロードするのではなく。
暗号化付き
「暗号化付き」のセクションセキュアな外部ストレージのために、バンドルを暗号化し、復号化キーを提供することができます:
npx @capgo/cli@latest bundle upload --external https://your-domain.com/bundles/v1.2.3.zip --iv-session-key YOUR_IV_SESSION_KEYS3統合
S3統合CapgoはAmazon S3とS3互換ストレージサービスに対して組み込みのサポートを提供します。CLIは自動的にバンドルをS3にアップロードし、CapgoをS3 URLで使用するように設定します。
S3アップロードオプション
S3アップロードオプションnpx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-bucket-name your-bucket-nameS3の完全な設定
S3の完全な設定S3互換サービスまたはカスタムエンドポイントの場合:
npx @capgo/cli@latest bundle upload \ --s3-region us-east-1 \ --s3-apikey YOUR_ACCESS_KEY \ --s3-apisecret YOUR_SECRET_KEY \ --s3-endpoint https://s3.your-provider.com \ --s3-bucket-name your-bucket-name \ --s3-port 443 \ --no-s3-ssl # Only if your endpoint doesn't support SSLS3構成パラメータ
「S3構成パラメータ」セクション| パラメータ | 説明 | 必要 |
|---|---|---|
--s3-region | S3バケットのAWSリージョン | はい |
--s3-apikey | S3アクセスキーID | はい |
--s3-apisecret | S3シークレットアクセスキー | はい |
--s3-bucket-name | S3バケットの名前 | はい |
--s3-endpoint | カスタムS3エンドポイントURL | いいえ |
--s3-port | S3エンドポイントのポート | いいえ |
--no-s3-ssl | S3アップロードのSSL無効化 | いいえ |
バンドル準備と暗号化
バンドル準備と暗号化カスタムストレージを使用する場合、特に暗号化を使用する場合、バンドルを適切に準備する必要があります。これには、zipファイルを作成し、オプションで暗号化することが含まれます。
Step 1: Zip Bundle を作成する
Step 1: Zip Bundleまず、zip ファイルを作成してください。
npx @capgo/cli@latest bundle zip com.example.app --path ./distzip コマンドは、zip ファイルのチェックサムを返します。必要に応じて、zip ファイルを暗号化するために、このチェックサムを使用できます。structured output を取得するには、 --json zip コマンドのオプション
npx @capgo/cli@latest bundle zip [appId] \ --path ./dist \ --bundle 1.2.3 \ --name myapp-v1.2.3 \ --json \ --no-code-check \ --key-v2 \ --package-json ../../package.json,./package.json| Option | 概要 |
|---|---|
--path | capacitor.config から webDir を取得する (デフォルト) |
--bundle | バンドルバージョン番号を zip ファイルに付与する |
--name | zip ファイルに付与するカスタム名 |
--json | JSON形式で結果を出力 (チェックサムを含む) |
--no-code-check | notifyAppReady() の呼び出しと index ファイルのチェックをスキップ |
--key-v2 | 暗号化 v2 を使用 |
--package-json | モノレポ用の package.json ファイルのパス (カンマ区切り) |
ステップ 2: バンドルを暗号化 (オプション)
セクション: "ステップ 2: バンドルを暗号化 (オプション)"アップロードする前に、zip バンドルを暗号化してセキュリティを向上させます。
# Using default local keynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM
# Using custom key filenpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key ./path/to/.capgo_key_v2
# Using key data directlynpx @capgo/cli@latest bundle encrypt ./myapp.zip CHECKSUM --key-data "PRIVATE_KEY_CONTENT"この CHECKSUM パラメータは必須で、zipファイルのチェックサムになります。zipコマンドの出力からチェックサムを取得できます (構造化出力のオプションを使用してください)。 --json デフォルトでは、encryptコマンドはローカルプライベート署名キーを使用します。カスタムキーを指定するには、
または --key or --key-data options.
オプション ivSessionKey 必要な
アップロードまたはデコードに必要な
ライブアップデートの暗号化コマンド| 暗号化コマンドのオプション | 説明 |
|---|---|
zipPath | エンコードするzipファイルのパス (必須) |
checksum | zipファイルのチェックサム (必須) - zipコマンドから取得 |
--key | プライベート署名鍵のカスタムパス (任意、ローカル鍵を使用) |
--key-data | プライベート署名鍵データ (任意) |
--json | 出力結果をJSON形式で取得 |
完全なワークフロー例
ワークフロー例Live Updateの例 1: 外部 URL と暗号化
「例1:暗号化された外部URL」-
アプリを構築してください:
ターミナル画面 npm run build -
zipアーカイブを作成してください:
ターミナル画面 npx @capgo/cli@latest bundle zip com.example.app --path ./dist --bundle 1.2.3このコマンドによって返されるチェックサムを注意してください。
-
アーカイブを暗号化してください:
ターミナル画面 npx @capgo/cli@latest bundle encrypt ./com.example.app-1.2.3.zip CHECKSUM_FROM_STEP_2注目する
ivSessionKey出力から -
アップロード先: ホスティングサービスにエンコードされたzipファイルをアップロードしてください。
-
Capgoに登録してください:
ターミナルウィンドウ npx @capgo/cli@latest bundle upload \--external https://your-cdn.com/bundles/com.example.app-1.2.3.zip \--iv-session-key IV_SESSION_KEY_FROM_STEP_3
例2: S3への直接アップロード
セクション「例2: S3への直接アップロード」-
アプリをビルドしてください:
ターミナルウィンドウ npm run build -
S3に直接アップロード:
ターミナルウィンドウ npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--channel Production
例 3: S3 での暗号化
「例 3: S3 での暗号化」のセクション-
ビルドして圧縮:
ターミナルウィンドウ npm run buildnpx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
バンドルを暗号化:
ターミナルウィンドウ npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM -
S3に暗号化してアップロード:
ターミナルウィンドウ npx @capgo/cli@latest bundle upload \--s3-region us-west-2 \--s3-apikey YOUR_ACCESS_KEY \--s3-apisecret YOUR_SECRET_KEY \--s3-bucket-name your-app-bundles \--iv-session-key IV_SESSION_KEY_FROM_STEP_2 \--channel Production
セキュリティに関する考慮事項
セクション「セキュリティに関する考慮事項」カスタムストレージを使用する場合、以下のセキュリティベストプラクティスを考慮してください:
アクセス制御
セクション「アクセス制御」- ストレージのURLはアプリのユーザーにアクセス可能ですが、一般に公開されないようにする
- 可能な場合は署名付きURLまたはトークンベースの認証を使用する
- ウェブベースのアプリでは適切なCORSヘッダーを実装する
暗号化
「暗号化」- すべての敏感なバンドルを Capgo の暗号化ツールで暗号化する
- 暗号化キーを安全に保存し、定期的に回転する
- すべてのバンドル URL に HTTPS を使用する (モバイルおよび Electron アプリ用必須)
監視
「監視」- アクセスログを監視して不審なダウンロードパターンを検出する
- 失敗したバンドルダウンロードのアラートを設定する
- ストレージ権限を定期的に検証する
トラブルシューティング
「トラブルシューティング」一般的な問題
「一般的な問題」ダウンロードが完了しない:
- URLがパブリックにアクセス可能で、HTTPSを使用していることを確認してください (モバイルおよびElectronアプリ用に必須)
- Webアプリ用のCORSヘッダーを確認してください
- バンドルの形式が正しいことを確認してください
暗号化エラー:
- ライブアップデート
ivSessionKey正しい鍵で暗号化されたバンドルを確認してください - 新しいバンドル用に暗号化v2を使用することを確認してください
- S3アップロード失敗:
S3のクレデンシャルと権限を確認してください
- S3の認証情報と権限を確認してください。
- バケットポリシーとCORS構成を確認
- 指定されたリージョンが正しいことを確認
デバッグコマンド
「デバッグコマンド」セクションバンドルステータスを確認:
npx @capgo/cli@latest app debugバンドル完整性を確認:
npx @capgo/cli@latest bundle list次のステップ
「次のステップ」セクション- Learn about チャンネル 異なるデプロイ環境を管理する
- Explore ライブアップデートの動作 アップデートの適用方法をカスタマイズする
- セットアップ CI/CD統合 自動化カスタムストレージのワークフロー
続けてカスタムストレージ
続けてカスタムストレージCapgoを使用している場合、カスタムストレージを使用するには、CapacitorのLive Update機能を有効にする必要があります。 カスタム ストレージ セキュリティと法的合致性を計画するには、 暗号化 暗号化の実装詳細については 法的合致性 法的合致性の実装詳細については Capgo セキュリティ スキャナー Capgo セキュリティ スキャナーの製品ワークフローについては Capgo セキュリティ Capgo セキュリティの製品ワークフローについては、 Capgo トラスト センター Capgo トラスト センターの製品ワークフローについては