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 usaremos
docker.io/valkey/valkey:8.0.1-alpine
Neste 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.yml
Arquivo 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
Oports
A 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 oports
Diretiva para expor a porta Redis (por exemplo,,6379:6379
A configuração acima configura um recipiente redis nomeadoredis-valkey
e monta um volume de persistência de dados. Ohealthcheck
A diretiva garante que o contêiner seja reiniciado se não responder aoping
comando. O--save 30 1
A 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_PREFIX
Permite 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_URL
valor 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.1
com 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 exec
comando 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 produzirPONG
Se 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.