html 🔗 Redis WebSocket Support | Nullcore
Pule para o conteúdo principal
aviso

Este tutorial é uma contribuição da comunidade e não é suportado pela equipe Nullcore. Serve apenas como uma demonstração sobre como personalizar o Nullcore para o seu caso de uso específico. Quer contribuir? Confira o tutorial contribuinte.

🔗 Redis WebSocket Suporte

Visão geral

Esta página de documentação descreve as etapas necessárias para integrar o Redis ao Nullcore para suporte ao WebSocket. Seguindo estas etapas, você poderá ativar a funcionalidade do WebSocket em sua instância aberta do Webui, permitindo comunicação em tempo real e atualizações entre os clientes e seu aplicativo.

Pré -requisitos

  • Uma instância aberta válida do Webui (versão em execução 1.0 ou superior)
  • Um recipiente Redis (nós usaremosdocker.io/valkey/valkey:8.0.1-alpineNeste exemplo, que é baseado na versão mais recente do Redis 7.x)
  • Docker Composer (versão 2.0 ou superior) instalado em seu sistema
  • Uma rede de docker para comunicação entre o Nullcore e Redis
  • Entendimento básico de Docker, Redis e Nullcore

Configurando redis

Para configurar o Redis para suporte do WebSocket, você precisará criar umdocker-compose.ymlArquivo com o seguinte conteúdo:

versão '3,9'
serviços
Redis
imagemDocker.io/valkey/valkey8.0.1alpino
container_nameRedisValkey
volumes
Redisdados/dados
comando "Valkey-Server-Save 30 1"
HealthCheck
teste "[$$ (Valkey-cli ping) = 'pong']"
start_period5s
intervalo1s
tempo esgotado3s
tentativas 5
reiniciara menos queparou
CAP_DROP
TODOS
cap_add
SetGid
Setuid
Dac_override
log
motorista "JSON-FILE"
opções
Max-tamanho "1m"
Max-file "1"
redes
nullcorerede

volumes
Redis-Data

redes
nullcore-Network
externo verdadeiro
Notas

OportsA diretiva não está incluída nesta configuração, pois não é necessária na maioria dos casos. O serviço Redis ainda estará acessível a partir da rede Docker pelo serviço Nullcore. No entanto, se você precisar acessar a instância do Redis de fora da rede do Docker (por exemplo, para fins de depuração ou monitoramento), você pode adicionar oportsDiretiva para expor a porta Redis (por exemplo,,6379:6379

A configuração acima configura um recipiente redis nomeadoredis-valkeye monta um volume de persistência de dados. OhealthcheckA diretiva garante que o contêiner seja reiniciado se não responder aopingcomando. O--save 30 1A opção de comando salva o banco de dados Redis no disco a cada 30 minutos, se pelo menos 1 tecla foi alterada.

Para criar uma rede Docker para comunicação entre o Nullcore e o Redis, execute o seguinte comando:

Docker Network Create nullcore-Network

Configurando Webui aberto

Para ativar o suporte do WebSocket no Nullcore, você precisará definir as seguintes variáveis ​​de ambiente para sua instância aberta da Webui:

Enable_websocket_support = "true"
Websocket_manager = "redis"
Websocket_redis_url = "redis: // redis: 6379/1"
Redis_Key_Prefix = "Open-Webui"

Essas variáveis ​​de ambiente permitem suporte do WebSocket, especificam o Redis como o WebSocket Manager, definem o URL do Redis e definem um prefixo de chave Redis personalizado. OREDIS_KEY_PREFIXPermite que várias instâncias abertas do WebUI compartilhem a mesma instância do Redis sem conflitos importantes. No modo de cluster Redis, o prefixo é formatado como{prefix}:(por exemplo,{open-webui}:config:*) ativar operações de várias teclas nas teclas de configuração no mesmo slot de hash. Certifique -se de substituir oWEBSOCKET_REDIS_URLvalor com o endereço IP real da sua instância Redis.

Ao executar o Nullcore usando o Docker, você precisa conectá -lo à mesma rede Docker:

Docker Run -D \
-Nome Open-Webui \
--Network nullcore-Network \
-v aberto webui:/app/backend/data \
-e enable_websocket_support = "true" \
-e websocket_manager = "redis" \
-e websocket_redis_url = "Redis: //127.0.0.1: 6379/1" \
-e redis_key_prefix = "Open-webui" \
ghcr.io/open-webui/open-webui:Main

Substituir127.0.0.1com o endereço IP real do seu contêiner Redis na rede Docker.

Verificação

Se você configurou corretamente o Redis e configurou o Nullcore, você verá a seguinte mensagem de log ao iniciar a instância do Nullcore:

DEBUG:open_webui.socket.main:Using Redis to manage websockets.

Isso confirma que o Nullcore está usando o Redis para o WebSocket Management. Você também pode usar odocker execcomando para verificar se a instância do Redis está executando e aceitando conexões:

Docker Exec -it Redis -Valkey Redis -Cli -P 6379 Ping

Este comando deve produzirPONGSe a instância do Redis estiver em execução corretamente. Se este comando falhar, você pode tentar este comando: em vez disso:

Docker Exec -it Redis -Valkey Valkey -Cli -P 6379 Ping

Solução de problemas

Se você encontrar problemas com o Redis ou WebSocket Support no Nullcore, poderá consultar os seguintes recursos para solucionar problemas:

Seguindo estas etapas e dicas para solucionar problemas, você poderá configurar o Redis com o WebUI Open para o WebSocket Support e ativar a comunicação em tempo real e atualizações entre clientes e seu aplicativo.