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ço | Objetivo |
|---|---|
postgres | Banco de dados PostgreSQL com dados persistentes em kanera_pgdata. |
valkey | Instância Valkey necessária para distribuição em tempo real, presença e limites de taxa compartilhada. |
migrate | Serviço único de migração de banco de dados executado antes do início dos serviços de aplicativo. |
api | API Kanera principal e servidor em tempo real. |
worker | Trabalhador em segundo plano único para agendadores, entrega de webhook, notificações, limpeza e substituto de caixa de saída em tempo real. |
public-api | API de integração pública. |
mcp | Servidor HTTP MCP Streamable apoiado pela API pública. |
web | Aplicativo da web Kanera criado servido por nginx. |
db-backup | Agendador 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.
Domínios recomendados
Use domínios separados para o aplicativo, API pública e MCP ao expor todos os três:
| Domínio | Serviço | Usar |
|---|---|---|
kanera.example.com | web | O aplicativo da web Kanera. |
api.kanera.example.com | public-api | API REST, webhooks e referência de API. |
mcp.kanera.example.com | mcp | Endpoint 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úblico | A montante |
|---|---|
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 |
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.