Cómo instalar SearXNG + Open WebUI en Docker: búsqueda web para tu IA, en contenedores separados
SearXNG + Open WebUI en Docker: búsqueda web para tu IA, en contenedores separados
Dale acceso a internet a Open WebUI con un metabuscador autoalojado, sin API keys ni cuotas. Cada servicio en su propio compose y comunicados por una red Docker compartida.
Ver el vídeo en YouTube · Suscríbete al canal GENBYTE
¿Qué vamos a montar?
SearXNG es un metabuscador libre que consulta varios motores (DuckDuckGo, Brave, Startpage…) sin rastrearte. Open WebUI es la interfaz web para chatear con tus modelos de IA. Al unirlos, tu modelo puede buscar información actual en internet y citar fuentes, todo desde tu propio servidor.
Lo haremos con dos composes independientes (uno por servicio) y una red Docker externa llamada ai. Así puedes actualizar o reiniciar cada uno por separado y reutilizar la red para futuros servicios.
Ventajas
ai sirve para Ollama, n8n y lo que añadas.Requisitos
- Docker y Docker Compose instalados.
- Open WebUI ya funcionando (o listo para desplegar).
- Un puerto libre en el host para la interfaz de SearXNG (opcional). En este ejemplo, el 8082.
Instalación en 3 pasos
Paso 1: crear la red compartida (una sola vez)
Paso 2: desplegar SearXNG
Estructura de carpetas y configuración:
json es imprescindible. Sin él, Open WebUI recibe un error 403 al buscar.~/docker/searxng/docker-compose.yml
Si solo lo vas a usar desde Open WebUI, elimina el bloque ports y no publicarás nada.
Paso 3: conectar Open WebUI a la red
~/docker/open-webui/compose.yml
Activar la búsqueda en Open WebUI
Las variables de entorno solo se leen en el primer arranque. Si Open WebUI ya tenía configuración guardada, manda la interfaz:
- Panel de administración → Ajustes → Búsqueda web
- Activa el interruptor Búsqueda web.
- Motor de búsqueda:
searxng - URL de consulta:
http://searxng:8080/search?q=<query> - Resultados: 3-5. Concurrencia: 1-2 en una Raspberry Pi.
- Guardar.
ai los contenedores se hablan por el 8080.Después, en un chat nuevo, activa la búsqueda con el botón + o el icono del globo.
Comprobar que todo funciona
Y desde el navegador, la interfaz de SearXNG: http://IP-DE-LA-RASPBERRY:8082
Casos de uso
- Preguntar a tu modelo por noticias o versiones recientes de software.
- Usar SearXNG como buscador privado de todo tu hogar.
- Montar asistentes que consulten documentación actualizada antes de responder.
Gestión y mantenimiento
Problemas frecuentes
| Síntoma | Solución |
|---|---|
curl devuelve 403 | Falta json en search.formats. Añádelo y ejecuta docker compose restart searxng. |
Could not resolve host: searxng | Los contenedores no comparten red. Revisa networks: - ai en ambos composes. |
| SearXNG no arranca por permisos | sudo chown -R 977:977 ~/docker/searxng/searxng |
| Las variables del compose no hacen efecto | Configúralo en Ajustes → Búsqueda web. Alternativa: ENABLE_PERSISTENT_CONFIG=False (los cambios desde la interfaz no se conservarán). |
No aparece el motor searxng | Imagen antigua: docker compose pull openwebui && docker compose up -d |
| Un motor te bloquea | Desactívalo en settings.yml y deja DuckDuckGo, Brave o Startpage. |
Compose único vs. contenedores separados
| Opción | Ventaja | Inconveniente |
|---|---|---|
| Un solo compose | Más simple, red automática | Se reinician y actualizan juntos |
Composes separados + red ai | Independientes y reutilizables | Hay que crear la red una vez |
Referencias oficiales
Apoya el canal
Si este tutorial te ha servido, suscríbete al canal de GENBYTE y comparte el post. Hay más tutoriales de Docker, homelab y self-hosting cada semana.
Comentarios
Publicar un comentario
Comenta...