Se o Frigate e o Ollama forem executados em contentores Docker separados no mesmo anfitrião ZimaOS, localhost:11434 dentro do Frigate aponta para o próprio contentor do Frigate — não para o Ollama. Coloque ambos os serviços numa rede Docker partilhada e utilize o nome do serviço do Ollama, ou publique o Ollama num endereço do anfitrião a que o Frigate consiga aceder.
O tópico original não chegou a uma configuração final verificada, mas estabeleceu o caminho de diagnóstico correto: primeiro, confirme a acessibilidade da rede a partir do contentor do Frigate e, depois, resolva os problemas da configuração genai: do Frigate. A documentação atual do Frigate também exige um modelo compatível com visão para descrições de imagens/eventos.
Porque é que o localhost falha entre contentores
Cada contentor Docker normal tem o seu próprio espaço de nomes de rede. Dentro do Frigate:
http://localhost:11434
significa “a porta 11434 dentro do contentor do Frigate”. Não significa o anfitrião ZimaOS e não resolve automaticamente para o contentor do Ollama.
Melhor configuração: rede Docker partilhada
Coloque o Frigate e o Ollama na mesma rede Docker definida pelo utilizador e utilize um nome estável de serviço/contentor, como:
genai:
provider: ollama
base_url: http://ollama:11434
model: qwen3-vl:4b
O atual guia de IA generativa do Frigate documenta o fornecedor Ollama e exige um modelo de visão adequado para as descrições de IA generativa.
Passo 1: verifique os contentores e as redes a partir do anfitrião ZimaOS
Execute isto no terminal do anfitrião ZimaOS, não dentro do Frigate:
docker ps --format 'table {.Names} {.Image} {.Networks}' | grep -Ei 'NAMES|frigate|ollama'
O utilizador do tópico original executou acidentalmente um comando Docker dentro do contentor do Frigate e recebeu docker: not found. Isso é esperado: normalmente, os contentores não incluem nem controlam a CLI do Docker do anfitrião.
Passo 2: teste o Ollama a partir do interior do Frigate
Depois de saber os nomes dos contentores e das redes, teste o caminho HTTP efetivo. A partir do anfitrião:
docker exec -it frigate sh
wget -qO- http://ollama:11434/api/tags
Se a resposta listar modelos do Ollama, a rede está a funcionar. Se não conseguir resolver ollama, é provável que os contentores não partilhem a mesma rede. Se resolver o nome, mas a ligação for recusada, verifique se o Ollama está a escutar e a aceitar ligações e confirme o estado da porta.
Alternativa: utilize o endereço IP do anfitrião ZimaOS
Se o Ollama publicar a porta 11434 no anfitrião, o Frigate pode utilizar um endereço acessível na rede local, como:
base_url: http://192.168.1.20:11434
Esta opção é simples, mas encaminha o tráfego através do anfitrião em vez de utilizar a descoberta de serviços do Docker. Certifique-se de que o Ollama está efetivamente a escutar numa interface acessível a partir do contentor do Frigate.
Utilize um modelo Ollama compatível com visão
A conectividade de rede, por si só, não é suficiente. A funcionalidade de IA generativa atual do Frigate envia contexto visual, pelo que o modelo configurado tem de suportar visão. Um modelo Ollama apenas de texto pode responder aos testes da API e, ainda assim, não ser adequado para descrições de eventos de câmaras.
Não utilize host.docker.internal em todo o lado
host.docker.internal é conveniente no Docker Desktop, mas não é garantido que funcione de forma idêntica em todos os anfitriões Docker Linux. No ZimaOS, uma rede definida pelo utilizador, juntamente com o nome do serviço, é geralmente mais portátil.
Verifique a configuração do Frigate depois de a rede funcionar
Só depois de /api/tags funcionar deve concentrar-se na indentação do YAML, no nome do fornecedor, no nome do modelo e nas definições da funcionalidade de IA generativa. Reinicie o Frigate e consulte os registos para verificar a inicialização do fornecedor.
O guia de redes Docker apresenta o modelo geral de funcionamento das redes de contentores.
Perguntas frequentes
Porque é que localhost:11434 não funciona a partir do Frigate?
Porque o localhost dentro do Frigate corresponde ao próprio contentor do Frigate, não ao contentor do Ollama.
Qual é o melhor URL para o Ollama?
Numa rede Docker partilhada, utilize o nome do serviço/contentor do Ollama, como http://ollama:11434.
Porque é que docker exec indica que docker não foi encontrado?
É provável que tenha executado a CLI do Docker dentro de um contentor. Execute os comandos de gestão do Docker no terminal do anfitrião ZimaOS.
Qualquer modelo Ollama pode funcionar com a IA generativa do Frigate?
Não. A documentação atual do Frigate indica que o fluxo de trabalho de IA generativa requer um modelo compatível com visão.
