Servicios y enrutamiento
Esta página cubre lo que ejecuta la pila Kanera, qué partes exponer y cómo colocar un proxy inverso delante de ellas.
Léelo después Empezando tiene una implementación en ejecución, o antes de comenzar si desea planificar los dominios primero.
Forma de implementación
El archivo de redacción estándar ejecuta estos servicios:
| Servicio | Propósito |
|---|---|
postgres | Base de datos PostgreSQL con datos persistentes en kanera_pgdata. |
valkey | Instancia de Valkey requerida para distribución en tiempo real, presencia y límites de velocidad compartida. |
migrate | Servicio de migración de base de datos de una sola vez que se ejecuta antes de que se inicien los servicios de aplicaciones. |
api | API principal de Kanera y servidor en tiempo real. |
worker | Trabajador en segundo plano único para programadores, entrega de webhooks, notificaciones, limpieza y respaldo de la bandeja de salida en tiempo real. |
public-api | API de integración pública. |
mcp | Servidor HTTP MCP Streamable respaldado por la API pública. |
web | Aplicación web Kanera creada y servida por nginx. |
db-backup | Programador de copias de seguridad de PostgreSQL cifrado opcional. |
El navegador debe conectarse al web servicio. No exponer el principal api servicio directo; el web API de aplicación de proxy de contenedor nginx y tráfico Socket.IO internamente.
exponer public-api sólo si quieres integraciones externas. exponer mcp solo si desea que los clientes MCP remotos se conecten a través de HTTP.
Dominios recomendados
Utilice dominios separados para la aplicación, la API pública y MCP cuando exponga los tres:
| Dominio | Servicio | uso |
|---|---|---|
kanera.example.com | web | La aplicación web Kanera. |
api.kanera.example.com | public-api | API REST, webhooks y referencia de API. |
mcp.kanera.example.com | mcp | Punto final MCP remoto para clientes de IA. |
Los dominios públicos API y MCP son opcionales. Puede comenzar solo con la aplicación web y agregar las demás más adelante.
Publicar puertos
El archivo de redacción predeterminado mantiene la privacidad de los servicios. Si está ejecutando Docker directamente en un servidor, agregue un compose.override.yml archivo:
services:
web:
ports:
- "8080:80"
public-api:
ports:
- "3001:3001"
mcp:
ports:
- "3002:3002"
Luego apunte su proxy inverso HTTPS a:
| URL pública | aguas arriba |
|---|---|
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 |
Sólo publicar public-api y mcp cuando los necesites.
Confiar en la configuración del proxy
Configúrelos cuando Kanera esté detrás de un proxy inverso confiable como nginx, Traefik, Caddy o un ingreso que envíe la IP real del cliente:
API_TRUST_PROXY=true
PUBLIC_API_TRUST_PROXY=true
API_TRUST_PROXY ayuda a que los límites de la tasa de autenticación de la aplicación utilicen la IP real del cliente. PUBLIC_API_TRUST_PROXY hace lo mismo para los límites de tasa de API pública.
Déjalos false solo cuando el servicio está directamente conectado a Internet o directamente a Cloudflare.