Si Frigate y Ollama se ejecutan en contenedores Docker separados en el mismo host de ZimaOS, localhost:11434 dentro de Frigate apunta de nuevo al contenedor de Frigate, no a Ollama. Coloca ambos servicios en una red Docker compartida y usa el nombre del servicio de Ollama, o publica Ollama en una dirección del host a la que Frigate pueda acceder.
El hilo original nunca llegó a una configuración final verificada, pero sí estableció el procedimiento de diagnóstico correcto: primero hay que comprobar que exista conectividad de red desde el contenedor de Frigate y después solucionar la configuración genai: de Frigate. La documentación actual de Frigate también requiere un modelo con capacidad de visión para las descripciones de imágenes y eventos.
Por qué localhost falla entre contenedores
Cada contenedor Docker normal tiene su propio espacio de nombres de red. Dentro de Frigate:
http://localhost:11434
significa «el puerto 11434 dentro del contenedor de Frigate». No hace referencia al host de ZimaOS ni se resuelve automáticamente en el contenedor de Ollama.
La mejor configuración: una red Docker compartida
Coloca Frigate y Ollama en la misma red Docker definida por el usuario y utiliza un nombre de servicio o contenedor estable, como:
genai:
provider: ollama
base_url: http://ollama:11434
model: qwen3-vl:4b
La guía de IA generativa de Frigate actual documenta el proveedor Ollama y requiere un modelo de visión adecuado para las descripciones de GenAI.
Paso 1: comprueba los contenedores y las redes desde el host de ZimaOS
Ejecuta esto desde la terminal del host de ZimaOS, no desde dentro de Frigate:
docker ps --format 'table {.Names} {.Image} {.Networks}' | grep -Ei 'NAMES|frigate|ollama'
El usuario del hilo original ejecutó accidentalmente un comando de Docker dentro del contenedor de Frigate y recibió docker: not found. Es lo esperado: normalmente los contenedores no incluyen ni controlan la CLI de Docker del host.
Paso 2: prueba Ollama desde dentro de Frigate
Cuando conozcas los nombres de los contenedores y las redes, prueba la ruta HTTP real. Desde el host:
docker exec -it frigate sh
wget -qO- http://ollama:11434/api/tags
Si la respuesta muestra los modelos de Ollama, la red funciona. Si no puede resolver ollama, probablemente los contenedores no compartan la misma red. Si lo resuelve, pero la conexión es rechazada, comprueba que Ollama esté escuchando, su vinculación y el estado del puerto.
Alternativa: utiliza la IP del host de ZimaOS
Si Ollama publica el puerto 11434 en el host, Frigate puede utilizar una dirección del host accesible desde la LAN, como:
base_url: http://192.168.1.20:11434
Es una opción sencilla, pero enruta el tráfico a través del host en lugar de utilizar la detección de servicios de Docker. Asegúrate de que Ollama esté escuchando realmente en una interfaz accesible desde el contenedor de Frigate.
Utiliza un modelo de Ollama con capacidad de visión
La conectividad de red por sí sola no es suficiente. La función GenAI actual de Frigate envía contexto visual, por lo que el modelo configurado debe admitir visión. Un modelo de Ollama que solo procese texto puede responder a las pruebas de la API y, aun así, no ser adecuado para describir eventos de la cámara.
No utilices host.docker.internal en todas partes
host.docker.internal resulta práctico en Docker Desktop, pero no se garantiza que se comporte de la misma manera en todos los hosts Docker Linux. En ZimaOS, normalmente es más portable utilizar una red definida por el usuario junto con el nombre del servicio.
Verifica la configuración de Frigate después de solucionar la red
Solo después de que /api/tags funcione debes centrarte en la sangría de YAML, el nombre del proveedor, el nombre del modelo y la configuración de la función GenAI. Reinicia Frigate y revisa los registros para comprobar la inicialización del proveedor.
La guía de redes Docker ofrece información más amplia sobre el modelo de redes de contenedores.
Preguntas frecuentes
¿Por qué no funciona localhost:11434 desde Frigate?
Porque localhost dentro de Frigate es el propio contenedor de Frigate, no el contenedor de Ollama.
¿Cuál es la mejor URL de Ollama?
En una red Docker compartida, utiliza el nombre del servicio o contenedor de Ollama, como http://ollama:11434.
¿Por qué docker exec indica que no se encuentra docker?
Probablemente ejecutaste la CLI de Docker dentro de un contenedor. Ejecuta los comandos de administración de Docker desde la terminal del host de ZimaOS.
¿Puede funcionar cualquier modelo de Ollama con GenAI de Frigate?
No. La documentación actual de Frigate indica que el flujo de trabajo de GenAI necesita un modelo con capacidad de visión.
