跳轉到主要內容

服務與路由

本頁介紹 Kanera 堆疊執行什麼、要公開哪些部分以及如何在它們前面放置反向代理。

讀完後 快速入門 要在您的伺服器上啟用此功能,請在您的伺服器上啟用此功能。

部署形狀​

標準的 compose 檔案執行以下服務:

服務目 的
postgresPostgreSQL 資料庫中持久資料 kanera_pgdata.
valkey實時扇區、存在和共享速率限制所需的 Valkey 例項。
migrate一次性資料庫遷移服務,在應用程式服務啟動之前執行。
api主要的Kanera API和實時伺服器。
worker單一後臺工作者用於排程器、webhook 交付、通知、清理和實時發件箱備份。
public-api公共整合 API。
mcpMCP 由公共 API 支援的可流式傳輸 HTTP 伺服器。
web構建了由 nginx 提供服務的 Kanera Web 應用程式。
db-backup可選加密的 PostgreSQL 備份排程器。

瀏覽器應該連線到 web 請勿將主機暴露在外面。 api 服務直接; web nginx 容器代理應用程式 API 和 Socket.IO 流量內部。

暴露 public-api 只有當您想要外部整合時才會這樣。 mcp 僅當您希望遠端 MCP 客戶端透過 HTTP 連線時。

在全部三個應用程式都公開時,為應用程式、公共 API 和 MCP 使用單獨的域:

域名服務使用
kanera.example.comwebKanera 網路應用程式。
api.kanera.example.compublic-apiREST API、webhook 和 API 參考。
mcp.kanera.example.commcp面向 AI 客戶端的遠端 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 的入侵時,設定這些:

API_TRUST_PROXY=true
PUBLIC_API_TRUST_PROXY=true

API_TRUST_PROXY 幫助應用身份驗證速率限制使用真實客戶端 IP。 PUBLIC_API_TRUST_PROXY 對於公共 API 速率限制也會執行相同的操作。

放開他們 false 只有當服務直接面向網際網路或直接面向 Cloudflare 時。