Diensten en routering
Op deze pagina wordt besproken wat de Kanera-stack uitvoert, welke onderdelen blootgelegd moeten worden en hoe u er een reverse proxy voor kunt plaatsen.
Lees het daarna Aan de slag een implementatie actief heeft, of voordat u begint als u eerst domeinen wilt plannen.
Vorm van inzet
Het standaard opstelbestand voert deze services uit:
| Dienst | Doel |
|---|---|
postgres | PostgreSQL-database met persistente gegevens in kanera_pgdata. |
valkey | Vereiste Valkey-instantie voor realtime fanout, aanwezigheid en gedeelde snelheidslimieten. |
migrate | Eenmalige databasemigratieservice die wordt uitgevoerd voordat de app-services starten. |
api | Belangrijkste Kanera API en realtime server. |
worker | Eén achtergrondwerker voor planners, webhooklevering, meldingen, opschoning en realtime fallback voor de outbox. |
public-api | Openbare integratie-API. |
mcp | MCP Streamable HTTP-server ondersteund door de openbare API. |
web | Kanera-webapp gebouwd, bediend door nginx. |
db-backup | Optionele gecodeerde PostgreSQL-back-upplanner. |
De browser moet verbinding maken met de web dienst. Stel de hoofdleiding niet bloot api directe service; de web nginx container proxy's app API en Socket.IO verkeer intern.
Blootstellen public-api alleen als je externe integraties wilt. Blootstellen mcp alleen als u wilt dat externe MCP-clients verbinding maken via HTTP.
Aanbevolen domeinen
Gebruik afzonderlijke domeinen voor de app, openbare API en MCP wanneer u ze alle drie openbaar maakt:
| Domein | Dienst | Gebruik |
|---|---|---|
kanera.example.com | web | De Kanera-webapp. |
api.kanera.example.com | public-api | REST API, webhooks en API-referentie. |
mcp.kanera.example.com | mcp | Extern MCP-eindpunt voor AI-clients. |
De openbare API- en MCP-domeinen zijn optioneel. U kunt beginnen met alleen de webapp en de andere later toevoegen.
Publiceer poorten
Het standaard opstelbestand houdt services privé. Als u Docker rechtstreeks op een server gebruikt, voegt u een compose.override.yml bestand:
services:
web:
ports:
- "8080:80"
public-api:
ports:
- "3001:3001"
mcp:
ports:
- "3002:3002"
Wijs vervolgens uw HTTPS reverse proxy naar:
| Openbare URL | Stroomopwaarts |
|---|---|
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 |
Alleen publiceren public-api en mcp wanneer je ze nodig hebt.
Vertrouwen proxy-instellingen
Stel deze in wanneer Kanera achter een vertrouwde reverse proxy zit, zoals nginx, Traefik, Caddy of een ingang die het echte client-IP verzendt:
API_TRUST_PROXY=true
PUBLIC_API_TRUST_PROXY=true
API_TRUST_PROXY helpt app-authenticatiesnelheidslimieten bij het gebruik van het echte client-IP. PUBLIC_API_TRUST_PROXY doet hetzelfde voor openbare API-tarieflimieten.
Laat ze achter false alleen wanneer de dienst rechtstreeks op internet of direct op Cloudflare is gericht.