跳转到主要内容

服务与路由

本页介绍 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 时。