メインコンテンツへスキップ
Enclave

セルフホスティングのアーキテクチャとサービストポロジー

セルフホスティングの Enclave はサービス 2 つだけ:静的フロントエンド(メインアプリ)+ Core API(NestJS)、データは SQLite ファイル 1 つ——Postgres、Redis、メッセージキューなどの外部依存はありません。各部分が何か、データがどこにあるか、運用の入り口がどこかを解説します。

デプロイの前に 2 分だけトポロジーを理解しましょう:動かすものは思ったより少ないはずです。デスクトップ・モバイルのクライアントはすべてリモートクライアントで、各デバイスにバックエンドを立てる必要はありません。

サービス 2 つ、データファイル 1 つ

メインアプリ(apps/app)は純粋な静的フロントエンドで、デフォルトポートは 5180(Docker モードでは 80)。nginx がホストし、/api、/socket.io、/health をバックエンドへプロキシします。Core API(api/)は NestJS バックエンドでデフォルトポート 3000、データはすべて 1 つの SQLite ファイル(デフォルト ./data/database.sqlite)に格納。これだけです——3 つ目の常駐サービスはありません。

外部依存なし

バックエンドは better-sqlite3 経由で SQLite 単一ファイルデータベースを使用し、Postgres / MySQL / Redis / MongoDB は不要です(Postgres/MySQL への切り替えは現在未対応——これが正直な境界です。コミュニティの貢献を歓迎します)。つまりバックアップと移行はファイルコピーだけで済み、最安クラスの VPS 1 台で動きます。

クライアントはすべてリモート接続

iOS、Android、Windows、macOS、Web はすべてリモートクライアントとして接続します:クライアントにはサーバーアドレスを入力するだけで、Core API をローカルで起動することはありません。デスクトップシェル(Tauri)も同じリモートモード——シェル自体はバックエンドを持たないため、サーバーを 1 つデプロイすれば家中のデバイスから接続できます。

運用の入り口:/admin/* エンドポイント

独立した運用管理画面のフロントエンドは廃止され、運用機能はバックエンドの /admin/* エンドポイントとして内蔵されています。任意の HTTP クライアントから X-Admin-Secret リクエストヘッダー(シークレットは env の ADMIN_SECRET)を付けて呼び出せます。例として curl でインスタンス統計を取得:curl -H "X-Admin-Secret: あなたのシークレット" http://127.0.0.1:3000/api/admin/stats。

オープンソースの境界

公式マルチテナントクラウドの運用コンソール(cloud-api / cloud-console)と Wiki キャラクタープラットフォームはオープンソースの範囲外です——セルフホスティングでは一切不要で、単一インスタンスのすべての機能は上記 2 つのサービスに含まれています。オープンソース部分は MIT ライセンス:監査・改変・商用利用が可能です。

関連する質問

  • Enclave はセルフホストできますか?難しいですか?
    できます。難易度は普通の web サービスを動かすのと同程度です。docker compose を使ったことがあれば、3 ステップで自分のインスタンスを持てます。リポジトリをクローンし、.env をコピーし、docker compose up するだけ。API・フロントエンド・データベース・ベクトルインデックスはすべて自分のマシン上で動きます。
  • Enclaveはどんなデータベースを使いますか?自分で構築する必要がありますか?
    別途構築する必要はありません。Enclaveはデータベースとベクトルインデックスを内蔵しており、docker composeで立ち上げる際に一緒にローカルで動きます。ドキュメント・会話・記憶はすべて構造化されてその中に保存され、セルフホストモードではこれらのデータはあなた自身のマシン上にのみ存在します。
  • Enclave はオープンソースですか?どのライセンスですか?
    はい。Enclave のモノレポ全体が MIT ライセンスで GitHub に公開されており、監査・改変・商用が自由です。「あなたのデータを悪用しません」という約束も、ただ信じるしかないのではなく、自分でコードを読んで検証できます。
  • Enclave を商用利用できますか?MIT ライセンスに制限はありますか?
    商用利用できます。Enclave は MIT ライセンスのオープンソースで、商用を含む自由な使用・改変・配布が認められており、唯一の条件は著作権とライセンス表示を保持することです。これを基に二次開発したり、社内に展開したり、外部にサービス提供したりでき、追加のライセンス料は不要です。

関連コンテンツ

セルフホスティングドキュメントへ戻る
共有XTelegramLINEWeibo
セルフホスティングのアーキテクチャとサービストポロジー · Enclave