Se Frigate e Ollama vengono eseguiti in container Docker separati sullo stesso host ZimaOS, localhost:11434 all'interno di Frigate rimanda al container Frigate, non a Ollama. Inserisci entrambi i servizi in una rete Docker condivisa e usa il nome del servizio Ollama, oppure pubblica Ollama su un indirizzo dell'host raggiungibile da Frigate.
La discussione originale non è arrivata a una configurazione finale verificata, ma ha stabilito il percorso diagnostico corretto: prima verifica la raggiungibilità della rete dal container Frigate, poi risolvi i problemi di configurazione genai: di Frigate. La documentazione attuale di Frigate richiede inoltre un modello con capacità di visione per le descrizioni di immagini ed eventi.
Perché localhost non funziona tra i container
Ogni normale container Docker dispone di un proprio namespace di rete. All'interno di Frigate:
http://localhost:11434
significa «porta 11434 all'interno del container Frigate». Non indica l'host ZimaOS e non si risolve automaticamente nel container Ollama.
Configurazione consigliata: rete Docker condivisa
Inserisci Frigate e Ollama nella stessa rete Docker definita dall'utente e usa un nome stabile per il servizio o il container, ad esempio:
genai:
provider: ollama
base_url: http://ollama:11434
model: qwen3-vl:4b
La guida attuale all'IA generativa di Frigate descrive il provider Ollama e richiede un modello di visione adatto per le descrizioni GenAI.
Passaggio 1: controlla container e reti dall'host ZimaOS
Esegui questo comando dal terminale dell'host ZimaOS, non dall'interno di Frigate:
docker ps --format 'table {.Names} {.Image} {.Networks}' | grep -Ei 'NAMES|frigate|ollama'
L'utente della discussione originale ha eseguito per errore un comando Docker all'interno del container Frigate e ha ricevuto docker: not found. È normale: i container di solito non includono né controllano l'interfaccia a riga di comando Docker dell'host.
Passaggio 2: verifica Ollama dall'interno di Frigate
Dopo aver individuato i nomi dei container e delle reti, verifica il percorso HTTP effettivo. Dall'host:
docker exec -it frigate sh
wget -qO- http://ollama:11434/api/tags
Se la risposta elenca i modelli Ollama, la rete funziona. Se non riesce a risolvere ollama, probabilmente i container non condividono la stessa rete. Se il nome viene risolto ma la connessione viene rifiutata, controlla l'ascolto, il binding e lo stato della porta di Ollama.
Alternativa: usa l'indirizzo IP dell'host ZimaOS
Se Ollama pubblica la porta 11434 sull'host, Frigate può usare un indirizzo dell'host raggiungibile dalla rete locale, ad esempio:
base_url: http://192.168.1.20:11434
È una soluzione semplice, ma instrada il traffico attraverso l'host invece di usare l'individuazione dei servizi Docker. Assicurati che Ollama sia effettivamente in ascolto su un'interfaccia raggiungibile dal container Frigate.
Usa un modello Ollama con capacità di visione
La sola connettività di rete non basta. La funzione GenAI di Frigate invia un contesto visivo, quindi il modello configurato deve supportare la visione. Un modello Ollama di solo testo può rispondere ai test API, ma risultare comunque inadatto alle descrizioni degli eventi delle telecamere.
Non usare host.docker.internal ovunque
host.docker.internal è comodo su Docker Desktop, ma non è garantito che si comporti allo stesso modo su ogni host Docker Linux. Su ZimaOS, una rete definita dall'utente con un nome di servizio è generalmente più portabile.
Verifica la configurazione di Frigate dopo aver risolto la rete
Solo dopo che /api/tags restituisce una risposta dovresti concentrarti sull'indentazione YAML, sul nome del provider, sul nome del modello e sulle impostazioni della funzione GenAI. Riavvia Frigate e controlla i log per verificare l'inizializzazione del provider.
La guida al networking Docker fornisce una panoramica più ampia del modello di rete dei container.
Domande frequenti
Perché localhost:11434 non funziona da Frigate?
Perché localhost all'interno di Frigate indica il container Frigate stesso, non il container Ollama.
Qual è l'URL Ollama migliore?
Su una rete Docker condivisa, usa il nome del servizio o del container Ollama, ad esempio http://ollama:11434.
Perché docker exec restituisce docker is not found?
Probabilmente hai eseguito l'interfaccia a riga di comando Docker all'interno di un container. Esegui i comandi di gestione Docker dal terminale dell'host ZimaOS.
Qualsiasi modello Ollama può funzionare con Frigate GenAI?
No. La documentazione attuale di Frigate indica che il flusso di lavoro GenAI richiede un modello con capacità di visione.
