この記事では、Capgo をセルフホストするためのステップバイステップのガイドと、セルフホストのメリットおよび課題について解説します。
はじめに
セルフホストとは、自前でサーバーやネットワークを構築し、ウェブサイトやアプリケーションを運用する形態です。PaaSやパブリッククラウドを利用する代わりに、自らネットワークを管理し、アプリケーションの開発に加えて、メンテナンスや稼働率の維持にも責任を持つことになります。
Capgo を最も簡単に使い始める方法は、当社の クラウド上の公式マネージドサービスですが、自身での管理を好む場合は、自前のサーバーに Capgo をセルフホストすることも可能です。
セルフホストとは?
デジタル領域におけるセルフホストとは、独自のサーバーやホスティングインフラを運用し、オンライン上のプレゼンスやサービスを自ら管理・制御することを指します。サードパーティのホスティングプロバイダーに依存する代わりに、個人や組織が独自の条件でサーバー、ウェブサイト、アプリケーション、データストレージを構築・管理する選択肢です。
なぜセルフホストを選ぶのか?
セルフホストが選ばれる理由は多岐にわたります。主なメリットには以下のようなものがあります:
-
プライバシーとコントロール: セルフホストにより、データとプライバシーを完全にコントロールできます。サードパーティのプロバイダーによるアクティビティの追跡や、データの販売を心配する必要はありません。
-
コスト削減: 長期的には、特に大量のリソースを使用する場合や複数のサービスを運用する場合、セルフホストの方がコスト効率が高くなることがあります。
-
カスタマイズ性: セルフホストなら、特定のニーズに合わせてアプリケーションやサービスを柔軟にカスタマイズできます。
-
学習と実験: セルフホスティングは、Linuxやシステム管理、その他の技術的なトピックを学ぶ素晴らしい方法です。また、新しいソフトウェアやサービスを試す楽しい手段にもなります。
-
独立性: セルフホスティングにより、外部プロバイダーへの依存を減らすことができます。利用規約や価格変更、予期せぬサービス停止に左右されることがありません。この独立性は、オンラインでの活動が業務に不可欠な企業や個人にとって極めて重要です。
Capgo CloudとCapgo Self-Hostedの違いは何ですか?
Capgoにバージョンは一つしかありません。Cloud版もSelf-Hosted版も完全に同等です。より優れた、あるいはより完全な機能セットを備えた、プレミアムな商用版というものは存在しません。
どちらのプランでも、同じダッシュボード、同じアクション可能なメトリクス、そして同じ 訪問者のプライバシーを尊重する姿勢を 提供しています。
私は2018年12月にCapgoの開発を開始し、2019年5月にSaaSサブスクリプションを開始しました。プロジェクトは現在も非常に活発に開発が進んでおり、急速に成長しています。また、堅牢で実戦投入された実績もあります。
Capgo CloudとCapgo Self-Hostedの違いは以下の通りです:
| クラウド | セルフホスト | |
|---|---|---|
| ホスティング | 簡単かつ便利です。わずか2分で最初のアップデートの配信を開始できます。高可用性、バックアップ、セキュリティ、メンテナンスはすべて私が行います。あなたが心配することなく、すべてを管理します。 | すべてを自分で行う必要があります。サーバーを用意し、インフラを管理しなければなりません。インストール、メンテナンス、アップグレード、サーバー容量、稼働時間、バックアップ、セキュリティ、安定性、一貫性、ロード時間などの責任はすべてあなたにあります。 |
| ストレージ | すべての訪問者データは、EU所有のクラウドインフラストラクチャ上でのみ処理されます。サイトデータはドイツ国内の安全で暗号化されたサーバーに保管されます。これにより、厳格なEUデータプライバシー法によってデータが保護され、GDPRへの準拠が保証されます。ウェブサイトのデータがEU外に出ることはありません。 | 完全なコントロール権を持ち、Capgo を任意の国の任意のサーバーでホストできます。自宅のサーバーでも、GDPRに準拠していないクラウドプロバイダーであっても、好きな場所でホスト可能です。 |
| 生データ | モダンで使いやすく、高速に動作するダッシュボードで、サイトの統計とメトリクスをすべて確認できます。ダッシュボードでは集計された統計データのみが表示されます。 | アナリストの方で、生データへのアクセスが必要ですか?Capgo をセルフホストすれば、そのオプションが利用可能です。データベースから直接データを取得し、お好みのデータ分析ツールにインポートできます。 |
| 料金 | アップデートサービスの提供にはコストが伴うため、サブスクリプション料金をいただいています。 | 支払う必要があるのは、サーバー代とサーバー運用に伴うコストのみです。Capgoに手数料を支払う必要はなく、クラウドプロバイダーへの支払いのみとなります。 |
| プレミアムサポート | Capgo を開発・保守しているエンジニアによる、確かなサポートを提供します。 | プレミアムサポートは含まれていません。セルフホスト版はコミュニティサポートのみとなります。 |
| リリース | 週に数回、新機能の追加やアップデートが行われ、継続的に開発・改善されています。 | 年2回リリースされる長期サポート版(LTS)のため、最新機能はクラウド版での動作検証を経てから提供されます。 |
Capgo のセルフホスト方法
Capgo では主に Supabase を使用しています。セルフホストするには、以下の Supabase のセルフホストドキュメント.
セルフホストの capgo で CLI を使用する
セルフホスト版 capgo で CLI を使用するには、アプリディレクトリ内の capacitor.config.ts を以下のように編集してください。
const config: CapacitorConfig = {
appId: 'com.demo.app',
appName: 'demoApp',
webDir: 'dist',
bundledWebRuntime: false,
plugins: {
CapacitorUpdater : {
localHost: "http://localhost:5173",
localWebHost: "http://localhost:5173",
localSupa: "http://localhost:54321",
localSupaAnon: "see_notes",
},
},
};
注意: localSupaAnonを取得するには、こちらを 参照して anon keyをlocalSupaAnonにコピーしてください
セルフホストの capgo で capacitor アップデーターを使用する
要件
クローン済み capgo
セルフホストしたcapgoでcapacitor updaterを使用するには、 capacitor.config.ts アプリディレクトリ内のファイルを以下のように編集してください:
const config: CapacitorConfig = {
appId: 'com.demo.app',
appName: 'demoApp',
webDir: 'dist',
bundledWebRuntime: false,
plugins: {
CapacitorUpdater : {
statsUrl: "https://localhost:54321/functions/v1/stats",
channelUrl: "https://localhost:54321/functions/v1/channel_self",
updateUrl: "https://localhost:54321/functions/v1/updates"
},
},
};
これにより、開発中にローカルのcapgoを使用できるようになります。ただし、デフォルト設定のままでは不十分です。
両方のOSでテストを行うには、HTTPSの設定が必要です
まとめ
結論として、リソースと専門知識を持つ組織にとって、Capgo のセルフホストは有力な選択肢となります。アップデートプロセスの制御、セキュリティ、コンプライアンスなど、多くのメリットがあります。ただし、導入を決定する前に、メリットと課題を慎重に検討することが重要です。
もし Capgo のセルフホストを検討されているなら、まずは Capgo を セルフホストに関するドキュメントから読み始めることをお勧めします。これにより、セルフホストに必要な要件やリスクを十分に理解できます。
Self hosted Capgo の続きはこちら
使用している場合 セルフホスト型 Capgo CI/CD自動化を計画するには、次と連携してください Capgo CI/CD Capgo CI/CDでのプロダクトワークフローについては、 Capgo Native Build Capgo Native Buildsでのプロダクトワークフローについては、 Capgo インテグレーション Capgo インテグレーションでのプロダクトワークフロー向けに、 CI/CD 連携 CI/CD Integrationの実装詳細については、 GitHub Actions 連携 GitHub Actions Integrationの実装詳細については。