Pular para o conteúdo principal

Serviços e roteamento

Esta página aborda o que a pilha Kanera executa, quais partes expor e como colocar um proxy reverso na frente delas.

Leia depois Primeiros passos tem uma implantação em execução ou antes de começar se quiser planejar os domínios primeiro.

Forma de implantação​

O arquivo de composição padrão executa estes serviços:

ServiçoObjetivo
postgresBanco de dados PostgreSQL com dados persistentes em kanera_pgdata.
valkeyInstância Valkey necessária para distribuição em tempo real, presença e limites de taxa compartilhada.
migrateServiço único de migração de banco de dados executado antes do início dos serviços de aplicativo.
apiAPI Kanera principal e servidor em tempo real.
workerTrabalhador em segundo plano único para agendadores, entrega de webhook, notificações, limpeza e substituto de caixa de saída em tempo real.
public-apiAPI de integração pública.
mcpServidor HTTP MCP Streamable apoiado pela API pública.
webAplicativo da web Kanera criado servido por nginx.
db-backupAgendador de backup PostgreSQL criptografado opcional.

O navegador deve se conectar ao web serviço. Não exponha os principais api serviço diretamente; o web API de aplicativo de proxies de contêiner nginx e tráfego Socket.IO internamente.

Expor public-api somente se você quiser integrações externas. Expor mcp somente se você desejar que clientes MCP remotos se conectem por HTTP.

Use domínios separados para o aplicativo, API pública e MCP ao expor todos os três:

DomínioServiçoUsar
kanera.example.comwebO aplicativo da web Kanera.
api.kanera.example.compublic-apiAPI REST, webhooks e referência de API.
mcp.kanera.example.commcpEndpoint MCP remoto para clientes de IA.

A API pública e os domínios MCP são opcionais. Você pode começar apenas com o aplicativo da web e adicionar os outros posteriormente.

Publicar portas​

O arquivo de composição padrão mantém os serviços privados. Se você estiver executando o Docker diretamente em um servidor, adicione um compose.override.yml arquivo:

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

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

mcp:
ports:
- "3002:3002"

Em seguida, aponte seu proxy reverso HTTPS para:

URL públicoA montante
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

Publicar apenas public-api e mcp quando você precisar deles.

Confiar nas configurações de proxy​

Defina-os quando Kanera estiver atrás de um proxy reverso confiável, como nginx, Traefik, Caddy ou um ingresso que envie o IP real do cliente:

API_TRUST_PROXY=true
PUBLIC_API_TRUST_PROXY=true

API_TRUST_PROXY ajuda os limites de taxa de autenticação do aplicativo a usar o IP real do cliente. PUBLIC_API_TRUST_PROXY faz o mesmo para limites de taxa de API pública.

Deixe-os false somente quando o serviço estiver diretamente voltado para a Internet ou diretamente para a Cloudflare.