Saltar al contenido principal

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:

ServicioPropósito
postgresBase de datos PostgreSQL con datos persistentes en kanera_pgdata.
valkeyInstancia de Valkey requerida para distribución en tiempo real, presencia y límites de velocidad compartida.
migrateServicio de migración de base de datos de una sola vez que se ejecuta antes de que se inicien los servicios de aplicaciones.
apiAPI principal de Kanera y servidor en tiempo real.
workerTrabajador en segundo plano único para programadores, entrega de webhooks, notificaciones, limpieza y respaldo de la bandeja de salida en tiempo real.
public-apiAPI de integración pública.
mcpServidor HTTP MCP Streamable respaldado por la API pública.
webAplicación web Kanera creada y servida por nginx.
db-backupProgramador 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.

Utilice dominios separados para la aplicación, la API pública y MCP cuando exponga los tres:

DominioServiciouso
kanera.example.comwebLa aplicación web Kanera.
api.kanera.example.compublic-apiAPI REST, webhooks y referencia de API.
mcp.kanera.example.commcpPunto 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úblicaaguas arriba
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

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.