Zum Hauptinhalt springen

Dienste und Routing

Auf dieser Seite wird erläutert, was der Kanera-Stack ausführt, welche Teile verfügbar gemacht werden müssen und wie man einen Reverse-Proxy davor platziert.

Lesen Sie es anschließend Erste Schritte wenn eine Bereitstellung ausgeführt wird, oder bevor Sie beginnen, wenn Sie zunächst Domänen planen möchten.

Bereitstellungsform​

Die Standard-Compose-Datei führt diese Dienste aus:

ServiceZweck
postgresPostgreSQL-Datenbank mit persistenten Daten in kanera_pgdata.
valkeyErforderliche Valkey-Instanz für Echtzeit-Fanout, Präsenz und gemeinsame Ratenbegrenzungen.
migrateEinmaliger Datenbankmigrationsdienst, der vor dem Start der App-Dienste ausgeführt wird.
apiHaupt-Kanera-API und Echtzeitserver.
workerEinzelner Hintergrund-Worker für Planer, Webhook-Zustellung, Benachrichtigungen, Bereinigung und Echtzeit-Postausgangs-Fallback.
public-apiÖffentliche Integrations-API.
mcpMCP Streamable HTTP-Server, der von der öffentlichen API unterstützt wird.
webEntwickelte Kanera-Web-App, bereitgestellt von Nginx.
db-backupOptionaler verschlüsselter PostgreSQL-Sicherungsplaner.

Der Browser sollte eine Verbindung zum herstellen web Dienst. Legen Sie die Hauptleitung nicht frei api Service direkt; die web Nginx-Container-Proxys-App-API und Socket.IO-Verkehr intern.

Entlarven public-api nur, wenn Sie externe Integrationen wünschen. Entlarven mcp Nur wenn Sie möchten, dass Remote-MCP-Clients eine Verbindung über HTTP herstellen.

Verwenden Sie separate Domänen für die App, die öffentliche API und das MCP, wenn Sie alle drei verfügbar machen:

DomäneServiceBenutzen
kanera.example.comwebDie Kanera-Web-App.
api.kanera.example.compublic-apiREST-API, Webhooks und API-Referenz.
mcp.kanera.example.commcpRemote-MCP-Endpunkt für KI-Clients.

Die öffentlichen API- und MCP-Domänen sind optional. Sie können nur mit der Web-App beginnen und die anderen später hinzufügen.

Ports veröffentlichen​

Die standardmäßige Compose-Datei hält Dienste privat. Wenn Sie Docker direkt auf einem Server ausführen, fügen Sie a hinzu compose.override.yml Datei:

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

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

mcp:
ports:
- "3002:3002"

Richten Sie dann Ihren HTTPS-Reverse-Proxy auf:

Öffentliche URLStromaufwärts
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

Nur veröffentlichen public-api und mcp wenn Sie sie brauchen.

Proxy-Einstellungen vertrauen​

Legen Sie diese fest, wenn sich Kanera hinter einem vertrauenswürdigen Reverse-Proxy wie Nginx, Traefik, Caddy oder einem Ingress befindet, der die echte Client-IP sendet:

API_TRUST_PROXY=true
PUBLIC_API_TRUST_PROXY=true

API_TRUST_PROXY hilft App-Authentifizierungsratenbegrenzungen dabei, die echte Client-IP zu verwenden. PUBLIC_API_TRUST_PROXY macht dasselbe für öffentliche API-Ratenbegrenzungen.

Lass sie false Nur wenn der Dienst direkt mit dem Internet oder direkt mit Cloudflare verbunden ist.