Passer au contenu principal

Services et routage

Cette page explique ce que la pile Kanera exécute, les parties à exposer et comment placer un proxy inverse devant elles.

Lisez-le après Commencer un déploiement est en cours, ou avant de commencer si vous souhaitez d'abord planifier les domaines.

Forme de déploiement​

Le fichier de composition standard exécute ces services :

ServiceObjectif
postgresBase de données PostgreSQL avec données persistantes dans kanera_pgdata.
valkeyInstance Valkey requise pour la diffusion en temps réel, la présence et les limites de débit partagé.
migrateService de migration de base de données unique qui s'exécute avant le démarrage des services d'application.
apiAPI principale Kanera et serveur en temps réel.
workerTravailleur en arrière-plan unique pour les planificateurs, la livraison de webhooks, les notifications, le nettoyage et le repli de la boîte d'envoi en temps réel.
public-apiAPI d'intégration publique.
mcpServeur HTTP MCP Streamable soutenu par l'API publique.
webCréation de l'application Web Kanera servie par nginx.
db-backupPlanificateur de sauvegarde PostgreSQL chiffré en option.

Le navigateur doit se connecter au web service. N'exposez pas le principal api servir directement ; le web L'API de l'application proxy du conteneur nginx et le trafic Socket.IO en interne.

Exposer public-api seulement si vous souhaitez des intégrations externes. Exposer mcp uniquement si vous souhaitez que les clients MCP distants se connectent via HTTP.

Utilisez des domaines distincts pour l'application, l'API publique et MCP lorsque vous exposez les trois :

DomaineServiceUtiliser
kanera.example.comwebL'application Web Kanera.
api.kanera.example.compublic-apiAPI REST, webhooks et référence API.
mcp.kanera.example.commcpPoint de terminaison MCP distant pour les clients IA.

Les domaines publics API et MCP sont facultatifs. Vous pouvez commencer avec uniquement l'application Web et ajouter les autres plus tard.

Publier des ports​

Le fichier de composition par défaut maintient les services privés. Si vous exécutez Docker directement sur un serveur, ajoutez un compose.override.yml fichier :

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

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

mcp:
ports:
- "3002:3002"

Pointez ensuite votre proxy inverse HTTPS vers :

URL publiqueEn amont
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

Publier uniquement public-api et mcp quand vous en avez besoin.

Paramètres du proxy de confiance​

Définissez-les lorsque Kanera se trouve derrière un proxy inverse de confiance tel que nginx, Traefik, Caddy ou une entrée qui envoie l'adresse IP réelle du client :

API_TRUST_PROXY=true
PUBLIC_API_TRUST_PROXY=true

API_TRUST_PROXY aide les limites de taux d'authentification des applications à utiliser l'adresse IP réelle du client. PUBLIC_API_TRUST_PROXY fait de même pour les limites de débit de l'API publique.

Laissez-les false uniquement lorsque le service est directement accessible sur Internet ou directement sur Cloudflare.