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:
| Service | Zweck |
|---|---|
postgres | PostgreSQL-Datenbank mit persistenten Daten in kanera_pgdata. |
valkey | Erforderliche Valkey-Instanz für Echtzeit-Fanout, Präsenz und gemeinsame Ratenbegrenzungen. |
migrate | Einmaliger Datenbankmigrationsdienst, der vor dem Start der App-Dienste ausgeführt wird. |
api | Haupt-Kanera-API und Echtzeitserver. |
worker | Einzelner Hintergrund-Worker für Planer, Webhook-Zustellung, Benachrichtigungen, Bereinigung und Echtzeit-Postausgangs-Fallback. |
public-api | Öffentliche Integrations-API. |
mcp | MCP Streamable HTTP-Server, der von der öffentlichen API unterstützt wird. |
web | Entwickelte Kanera-Web-App, bereitgestellt von Nginx. |
db-backup | Optionaler 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.
Empfohlene Domains
Verwenden Sie separate Domänen für die App, die öffentliche API und das MCP, wenn Sie alle drei verfügbar machen:
| Domäne | Service | Benutzen |
|---|---|---|
kanera.example.com | web | Die Kanera-Web-App. |
api.kanera.example.com | public-api | REST-API, Webhooks und API-Referenz. |
mcp.kanera.example.com | mcp | Remote-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 URL | Stromaufwärts |
|---|---|
https://kanera.example.com | http://127.0.0.1:8080 |
https://api.kanera.example.com | http://127.0.0.1:3001 |
https://mcp.kanera.example.com | http://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.