メインコンテンツにスキップ

サービスとルーティング

このページでは、Kanera スタックの実行内容、公開する部分、およびその前にリバース プロキシを配置する方法について説明します。

後で読んでください はじめに デプロイメントが実行中であるか、最初にドメインを計画する場合は開始前です。

展開形状​

標準の構成ファイルは次のサービスを実行します。

サービス目的
postgres永続データを含む PostgreSQL データベース kanera_pgdata.
valkeyリアルタイム ファンアウト、プレゼンス、共有レート制限に必要な Valkey インスタンス。
migrateアプリ サービスが開始される前に実行されるワンショット データベース移行サービス。
apiメインのKanera APIとリアルタイムサーバー。
workerスケジューラ、Webhook 配信、通知、クリーンアップ、およびリアルタイム送信ボックス フォールバックを行う単一のバックグラウンド ワーカー。
public-apiパブリック統合 API。
mcpMCP パブリック API を利用したストリーミング可能な HTTP サーバー。
webnginx によって提供される Kanera Web アプリを構築しました。
db-backupオプションの暗号化された PostgreSQL バックアップ スケジューラ。

ブラウザはに接続する必要があります web サービス。メインは晒さないでね api 直接サービスを提供します。の web nginx コンテナは、アプリ API と Socket.IO トラフィックを内部的にプロキシします。

暴露する public-api 外部統合が必要な場合のみ。暴露する mcp リモート MCP クライアントを HTTP 経由で接続する場合のみ。

アプリ、パブリック API、MCP の 3 つすべてを公開する場合は、それぞれに別のドメインを使用します。

ドメインサービス使用する
kanera.example.comwebKaneraウェブアプリ。
api.kanera.example.compublic-apiREST API、Webhook、および API リファレンス。
mcp.kanera.example.commcpAI クライアント用のリモート MCP エンドポイント。

パブリック API および MCP ドメインはオプションです。 Web アプリのみから始めて、後で他のアプリを追加することができます。

ポートの公開​

デフォルトの構成ファイルはサービスをプライベートに保ちます。サーバー上で Docker を直接実行している場合は、 compose.override.yml ファイル:

services:
web:
ports:
- "8080:80"

public-api:
ports:
- "3001:3001"

mcp:
ports:
- "3002:3002"

次に、HTTPS リバース プロキシを次のように指定します。

公開URL上流
https://kanera.example.comhttp://127.0.0.1:8080
https://api.kanera.example.comhttp://127.0.0.1:3001
https://mcp.kanera.example.comhttp://127.0.0.1:3002

公開のみ public-api そして mcp 必要になったとき。

信頼プロキシ設定​

Kanera が nginx、Traefik、Caddy などの信頼できるリバース プロキシ、または実際のクライアント IP を送信する Ingress の背後にある場合は、これらを設定します。

API_TRUST_PROXY=true
PUBLIC_API_TRUST_PROXY=true

API_TRUST_PROXY アプリの認証レート制限が実際のクライアント IP を使用するのに役立ちます。 PUBLIC_API_TRUST_PROXY パブリック API レート制限についても同様です。

放っておいてください false サービスがインターネットに直接接続されている場合、または Cloudflare に直接接続されている場合のみ。