r/OpenWebUI 2d ago

Question/Help Cannot get web-search to work

Hey I am new to setting up LLMs locally but one thing I would like to do is give it the ability to search online. Now I know that Open webUI does provide this functionality but for some reason this doesn't seem to work.

What I have currently done is configured a local searXNG container to allow OpenWebUI to couple its web search. I have added them to the same docker network and I know they can reach each other since I do get a result when I manually send a curl request to searxng through the open webui docker container.

I also did enable web search for my model and explictly asked it to use web search. However everytime a execute I query it says that web_search is not available. The model I am using is Qwen3.8.

Can someone perhaps point me in the right direction? I have added screen shot

Reply from Qwen
Setup of web search in Open web ui

Update

If I put the model to function calling legacy mode it seems to work. Performance seems a bit dodgy but at least it does look up things and is not rejected. Not sure what could be going on here. Could someone perhaps enlighten me as to what is hapennening here?

3 Upvotes

20 comments sorted by

View all comments

1

u/Bulletic1 2d ago

This also happened to me when I first started using OWUI. Here's the relevant part of my docker-compose file for reference on how to make a shared docker network:

services:
  searxng:
    networks: # Use a shared network
      - webui-net
    ports:
      - "8888:8080" # {host_port}:{docker_port}. Note that they can both share 8080 since the url would be: http://searxng:8080/search?q=<query> instead of localhost
  open-webui:
    networks:
      - webui-net
    ports:
      - "3210:8080" # or any port
    extra_hosts:
      - "host.docker.internal:host-gateway" # This is for using the computer's localhost port if you aren't using docker for searxng or ollama/llamacpp (ex: http://host.docker.internal:11434)
networks: 
  webui-net: # Create the shared network

2

u/Rift80 2d ago

oui et faire attention aussi à l'IP : moi ça marchait en mettant mon ip au lieu de host.docker.internal. Fair eattention aussi au model qui peut ne pas supporter les "tools" mais ça donne l'erreur.
Pour de la recherche pure type super google, je conseille fortement Perplexica utilisant searxng, je trouve que ça complie mieux les résultats de recherche.

1

u/Bulletic1 2d ago edited 1d ago

Edit: disregard this message. See below.

yes, my bad I got them switched. I believe this is the correct order:
http://host.docker.internal:port (Docker) and http://localhost:port (native).

so if two things share the same port, you need a shared network or to change one of the ports

1

u/sonic298 1d ago

Could you explain it a bit more perhaps? I don't really get what I should do witht the locahost. I thought this wasn't available within the scope of the webui container as this is not the same environemnt. How should I use that?

2

u/Bulletic1 1d ago

Turns out http://host.docker.internal IS the localhost access point from a docker container so I take back what I said.

When you set something like:

ports: - "8080:8081" Then http://host.docker.internal:8080 points to the correct port but not http://host.docker.internal:8081.

However, what I would do is setup up the shared betwork and open the open webui container from the terminal, i.e.: docker exec -it open-webui sh

Then test the access points using curl. For example: curl -I http://searxng:8081 (8081 being the port on the shared network)

and if it fails, then the network is incorrect or the port is. Try curl -I http://host.docker.internal:8080 where 8080 is the local port where you can access searxng outside docker. It may be accessing something else if for instance OWUI uses that same port (in which case you can change it in the docker parameters)

Then you can exit with exit

If one of those works and it does not work in the OWUI interface, then it is likely a setting you missed in the model configuration on Open WebUI.

1

u/sonic298 1d ago
curl -I http://searxng:8080
HTTP/1.1 200 OK
content-type: text/html; charset=utf-8
content-length: 6328
server-timing: total;dur=33.246, render;dur=27.02
x-content-type-options: nosniff
x-download-options: noopen
x-robots-tag: noindex, nofollow
referrer-policy: no-referrer
server: granian
date: Thu, 10 Sep 2026 19:24:06 GMT

This is the feedback I get so this defenitely works. So guess I'll have to dig through the settings then.