Lack of documentation: SearXNG query URL #1096

Closed
opened 2025-11-11 14:37:09 -06:00 by GiteaMirror · 36 comments
Owner

Originally created by @mdillondc on GitHub (Jun 2, 2024).

I don't see how a full bug report would be warranted here. This is simply lack of documentation.

Help structuring searxng query url
I cannot for the life of me figure out how the Searxng Query URL should be structured under "Document Settings - Web Params"

I have tried:
Enter a search url to an instance with JSON enabled, e.g. https://some.searxng.instance/search?q=%&format=json and https://some.searxng.instance/ and https://some.searxng.instance/search&format=json

I expect the % to be replaced with my actual search query. Instead, the search just searches for the actual percentage sign and comes up with e.g. https://en.wikipedia.org/wiki/Percent_sign as a source.

  • Open WebUI Version: 0.2.0
Originally created by @mdillondc on GitHub (Jun 2, 2024). I don't see how a full bug report would be warranted here. This is simply lack of documentation. **Help structuring searxng query url** I cannot for the life of me figure out how the `Searxng Query URL` should be structured under "Document Settings - Web Params" **I have tried:** Enter a search url to an instance with JSON enabled, e.g. `https://some.searxng.instance/search?q=%&format=json` and `https://some.searxng.instance/` and `https://some.searxng.instance/search&format=json` I expect the `%` to be replaced with my actual search query. Instead, the search just searches for the actual percentage sign and comes up with e.g. `https://en.wikipedia.org/wiki/Percent_sign` as a source. - **Open WebUI Version:** 0.2.0
Author
Owner
@cheahjs commented on GitHub (Jun 2, 2024): https://docs.openwebui.com/getting-started/env-configuration#searxng_query_url
Author
Owner

@mdillondc commented on GitHub (Jun 2, 2024):

I'm an idiot. Sorry.

@mdillondc commented on GitHub (Jun 2, 2024): I'm an idiot. Sorry.
Author
Owner

@Morethanevil commented on GitHub (Jun 2, 2024):

Additional info:

I have setup Searx-NG a long time ago with the standard "settings.yml"

For anyone who gets "403 Forbidden" like me, you need to enable JSON in the settings.yml

Screenshot_20240602_111824

@Morethanevil commented on GitHub (Jun 2, 2024): Additional info: I have setup Searx-NG a long time ago with the standard "settings.yml" For anyone who gets "403 Forbidden" like me, you need to enable JSON in the settings.yml ![Screenshot_20240602_111824](https://github.com/open-webui/open-webui/assets/110860055/edb992c1-05c5-4512-8bc2-d75752a2fda3)
Author
Owner

@bannert1337 commented on GitHub (Jun 2, 2024):

@Morethanevil this should be added to the documentation! ^^

@bannert1337 commented on GitHub (Jun 2, 2024): @Morethanevil this should be added to the documentation! ^^
Author
Owner

@remkolems commented on GitHub (Jun 4, 2024):

@mdillondc

I'm an idiot. Sorry.

Not in the slightest! Very happy that you raised this issue. Could not have solved it time wise concisely. So thank you!


Furthermore:

  1. Navigate to: Workspace -> Documents -> Document Settings -> Web Params
  2. Toggle Enable Web Search
  3. Select Web Search Engine from dropdown menu
  4. Set Searxng Query URL to examples given: https://<search.domain.com>/search?q=<query> or http://<searxng.local>/search?q=<query>. Do note the <query> part is mandatory.

image

Furthermore, I had hoped to configure it directly within the docker compose file. For now, I was unable to do so with environment variables. Any suggestions?

@remkolems commented on GitHub (Jun 4, 2024): @mdillondc > I'm an idiot. Sorry. Not in the slightest! Very happy that you raised this issue. Could not have solved it time wise concisely. So thank you! --- Furthermore: 1. Navigate to: `Workspace` -> `Documents` -> `Document Settings` -> `Web Params` 2. Toggle `Enable Web Search` 3. `Select Web Search Engine` from dropdown menu 4. Set `Searxng Query URL` to examples given: `https://<search.domain.com>/search?q=<query>` or `http://<searxng.local>/search?q=<query>`. Do note the `<query>` part is mandatory. ![image](https://github.com/open-webui/open-webui/assets/45675902/8f37fa14-2d21-46e2-b929-97bd39741007) Furthermore, I had hoped to configure it directly within the docker compose file. For now, I was unable to do so with environment variables. Any suggestions?
Author
Owner

@Expro commented on GitHub (Jun 4, 2024):

Indeed, environment variables for enabling Web Search seems to be missing.

@Expro commented on GitHub (Jun 4, 2024): Indeed, environment variables for enabling Web Search seems to be missing.
Author
Owner

@justinh-rahb commented on GitHub (Jun 4, 2024):

Indeed, environment variables for enabling Web Search seems to be missing.

These ones? https://docs.openwebui.com/getting-started/env-configuration#web-search

@justinh-rahb commented on GitHub (Jun 4, 2024): > Indeed, environment variables for enabling Web Search seems to be missing. These ones? https://docs.openwebui.com/getting-started/env-configuration#web-search
Author
Owner

@Expro commented on GitHub (Jun 4, 2024):

Even setting those results in web search being disabled and requiring in-UI intervention.

@Expro commented on GitHub (Jun 4, 2024): Even setting those results in web search being disabled and requiring in-UI intervention.
Author
Owner

@justinh-rahb commented on GitHub (Jun 4, 2024):

ENABLE_RAG_WEB_SEARCH=True
RAG_WEB_SEARCH_ENGINE=searxng

These will be added to the docs shortly.

@justinh-rahb commented on GitHub (Jun 4, 2024): `ENABLE_RAG_WEB_SEARCH=True` `RAG_WEB_SEARCH_ENGINE=searxng` These will be added to the docs shortly.
Author
Owner

@alkeryn commented on GitHub (Jun 4, 2024):

I tried to set up but it doesn't seem to be doing anything, how should you trigger web searches ?

@alkeryn commented on GitHub (Jun 4, 2024): I tried to set up but it doesn't seem to be doing anything, how should you trigger web searches ?
Author
Owner

@Expro commented on GitHub (Jun 4, 2024):

Click "+" on text field and toggle "Web Search". Documentation is lacking here.

I would love to have that toggle not hidden behind "+".

@Expro commented on GitHub (Jun 4, 2024): Click "+" on text field and toggle "Web Search". Documentation is lacking here. I would love to have that toggle not hidden behind "+".
Author
Owner

@alkeryn commented on GitHub (Jun 4, 2024):

@Expro Oh, thank you hahaha

@alkeryn commented on GitHub (Jun 4, 2024): @Expro Oh, thank you hahaha
Author
Owner

@DustyTurtleDip commented on GitHub (Jun 4, 2024):

Is there a way to enable "Web Search" by default in new conversation ?

@DustyTurtleDip commented on GitHub (Jun 4, 2024): Is there a way to enable "Web Search" by default in new conversation ?
Author
Owner

@alkeryn commented on GitHub (Jun 4, 2024):

@DustyTurtleDip i don't think so but i'm not even sure you would want that as it's slower.
@Expro after some testing it'd be nice if it used the context to make the query and make one only if it determines that it is necessary.

for example if i ask what the weather is like where i live, it is unable to look up the personal information i gave in "memory" and make a search to look for that town.
it is also unable to use the context to make a subsequent query.
it seems like it's only searching and adding to rag what the user typed in the last message.
it's cool to have barebone search but something more advanced like hugging chat where it uses its context and even tries to crawl the replies would be cool!

as for the memory tab, an edit button would be nifty.

still cool though.

@alkeryn commented on GitHub (Jun 4, 2024): @DustyTurtleDip i don't think so but i'm not even sure you would want that as it's slower. @Expro after some testing it'd be nice if it used the context to make the query and make one only if it determines that it is necessary. for example if i ask what the weather is like where i live, it is unable to look up the personal information i gave in "memory" and make a search to look for that town. it is also unable to use the context to make a subsequent query. it seems like it's only searching and adding to rag what the user typed in the last message. it's cool to have barebone search but something more advanced like hugging chat where it uses its context and even tries to crawl the replies would be cool! as for the memory tab, an edit button would be nifty. still cool though.
Author
Owner

@tjbck commented on GitHub (Jun 4, 2024):

PR to our docs would be greatly appreciated 🙌

https://github.com/open-webui/docs/blob/main/docs/tutorial/web_search.md

@tjbck commented on GitHub (Jun 4, 2024): PR to our docs would be greatly appreciated 🙌 https://github.com/open-webui/docs/blob/main/docs/tutorial/web_search.md
Author
Owner

@samssausages commented on GitHub (Jun 4, 2024):

Thank you for the info here, especially @Morethanevil adding the info to the searxng config file fixed the issue I was having! Pretty cool that this works with no google API!

@samssausages commented on GitHub (Jun 4, 2024): Thank you for the info here, especially @Morethanevil adding the info to the searxng config file fixed the issue I was having! Pretty cool that this works with no google API!
Author
Owner

@justinh-rahb commented on GitHub (Jun 4, 2024):

PR to our docs would be greatly appreciated 🙌

https://github.com/open-webui/docs/blob/main/docs/tutorial/web_search.md

Ask and ye shall receive 👍 https://github.com/open-webui/docs/pull/94

@justinh-rahb commented on GitHub (Jun 4, 2024): > PR to our docs would be greatly appreciated 🙌 > > https://github.com/open-webui/docs/blob/main/docs/tutorial/web_search.md Ask and ye shall receive 👍 https://github.com/open-webui/docs/pull/94
Author
Owner

@mdillondc commented on GitHub (Jun 4, 2024):

Click "+" on text field and toggle "Web Search". Documentation is lacking here.

I would love to have that toggle not hidden behind "+".

It took me a while to find this as well.

It might add clutter, but I feel that the search button should not be hidden. How about placing it as a greyed-out icon next to the + icon? The user can then click it to toggle the search on or off with just one click. It is quite cumbersome to click + > move mouse > click the toggle > refocus the prompt input field and then perform the search. If you don't want to search in your next prompt, you have to repeat all the clicks to disable the search. The best solution would be a keybinding to toggle the search, or something like #search search query here.

Also, if one enables search and prompts "Help me find a good carrying harness I can use if my dog gets injured on a hike", the AI could try to rephrase the search query in a way it deems optimal and submit that as the search prompt instead of exactly what the user wrote.

Of course, if the program or AI could be smart enough to detect when a search is needed, that would be ideal. However, this is probably optimistic right now, depending on the model in use and several other factors.

@mdillondc commented on GitHub (Jun 4, 2024): > Click "+" on text field and toggle "Web Search". Documentation is lacking here. > > I would love to have that toggle not hidden behind "+". It took me a while to find this as well. It might add clutter, but I feel that the search button should not be hidden. How about placing it as a greyed-out icon next to the `+` icon? The user can then click it to toggle the search on or off with just one click. It is quite cumbersome to click `+ > move mouse > click the toggle > refocus the prompt input field` and then perform the search. If you don't want to search in your next prompt, you have to repeat all the clicks to disable the search. The best solution would be a keybinding to toggle the search, or something like `#search search query here`. Also, if one enables search and prompts `"Help me find a good carrying harness I can use if my dog gets injured on a hike"`, the AI could try to rephrase the search query in a way it deems optimal and submit that as the search prompt instead of exactly what the user wrote. Of course, if the program or AI could be smart enough to detect when a search is needed, that would be ideal. However, this is probably optimistic right now, depending on the model in use and several other factors.
Author
Owner

@tjbck commented on GitHub (Jun 4, 2024):

Web search toggle button will remain in the + button where the rest of the tools feature will also be added.

@tjbck commented on GitHub (Jun 4, 2024): Web search toggle button will remain in the `+` button where the rest of the `tools` feature will also be added.
Author
Owner

@justinh-rahb commented on GitHub (Jun 4, 2024):

Also, if one enables search and prompts "Help me find a good carrying harness I can use if my dog gets injured on a hike", the AI could try to rephrase the search query in a way it deems optimal and submit that as the search prompt instead of exactly what the user wrote.

It already does so for prompts over 100 characters. It's been proposed to make this a configurable option (with 0 meaning always rewrite it).

@justinh-rahb commented on GitHub (Jun 4, 2024): > Also, if one enables search and prompts `"Help me find a good carrying harness I can use if my dog gets injured on a hike"`, the AI could try to rephrase the search query in a way it deems optimal and submit that as the search prompt instead of exactly what the user wrote. It already does so for prompts over 100 characters. It's been proposed to make this a configurable option (with `0` meaning always rewrite it).
Author
Owner

@mdillondc commented on GitHub (Jun 4, 2024):

Web search toggle button will remain in the + button where the rest of the tools feature will also be added.

Understood. But what about a keybinding to quickly toggle?

@mdillondc commented on GitHub (Jun 4, 2024): > Web search toggle button will remain in the `+` button where the rest of the `tools` feature will also be added. Understood. But what about a keybinding to quickly toggle?
Author
Owner

@alkeryn commented on GitHub (Jun 4, 2024):

@justinh-rahb but does it uses the whole conversation context to generate the search ?

@alkeryn commented on GitHub (Jun 4, 2024): @justinh-rahb but does it uses the whole conversation context to generate the search ?
Author
Owner

@remkolems commented on GitHub (Jun 5, 2024):

PR to our docs would be greatly appreciated 🙌
open-webui/docs@main/docs/tutorial/web_search.md

Ask and ye shall receive 👍 open-webui/docs#94

So in summary docker compose file:

services:
  open-webui:
    environment:
      ENABLE_RAG_WEB_SEARCH: True
      RAG_WEB_SEARCH_ENGINE: "searxng"
      RAG_WEB_SEARCH_RESULT_COUNT: 3
      RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10
      SEARXNG_QUERY_URL: "http://searxng:8080/search?q=<query>"

or (syntax also possible, but less preferable)

services:
  open-webui:
    environment:
      - ENABLE_RAG_WEB_SEARCH=true
      - RAG_WEB_SEARCH_ENGINE="searxng"
      - RAG_WEB_SEARCH_RESULT_COUNT=3
      - RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10
      - SEARXNG_QUERY_URL="http://searxng:8080/search?q=<query>"

FWIW I'm running a separate dedicated SearXNG docker compose behind a reverse proxy for offloading SSL (hence the use of https internally). SEARXNG_QUERY_URL would become SEARXNG_QUERY_URL: "https://search.domain.com/search?q=<query>", whereby search.domain.com is self-chosen.

A lot of activity for a closed issue ;-)

@remkolems commented on GitHub (Jun 5, 2024): > > PR to our docs would be greatly appreciated 🙌 > > [open-webui/docs@`main`/docs/tutorial/web_search.md](https://github.com/open-webui/docs/blob/main/docs/tutorial/web_search.md?rgh-link-date=2024-06-04T18%3A32%3A53Z) > > Ask and ye shall receive 👍 [open-webui/docs#94](https://github.com/open-webui/docs/pull/94) So in summary `docker compose` file: ```yaml services: open-webui: environment: ENABLE_RAG_WEB_SEARCH: True RAG_WEB_SEARCH_ENGINE: "searxng" RAG_WEB_SEARCH_RESULT_COUNT: 3 RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10 SEARXNG_QUERY_URL: "http://searxng:8080/search?q=<query>" ``` or (syntax also possible, but less preferable) ```yaml services: open-webui: environment: - ENABLE_RAG_WEB_SEARCH=true - RAG_WEB_SEARCH_ENGINE="searxng" - RAG_WEB_SEARCH_RESULT_COUNT=3 - RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10 - SEARXNG_QUERY_URL="http://searxng:8080/search?q=<query>" ``` FWIW I'm running a separate dedicated SearXNG docker compose behind a reverse proxy for offloading SSL (hence the use of https internally). `SEARXNG_QUERY_URL` would become `SEARXNG_QUERY_URL: "https://search.domain.com/search?q=<query>"`, whereby search.domain.com is self-chosen. A lot of activity for a closed issue ;-)
Author
Owner

@justinh-rahb commented on GitHub (Jun 5, 2024):

A lot of activity for a closed issue ;-)

Resolved: https://docs.openwebui.com/tutorial/web_search#1-searxng-configuration

@justinh-rahb commented on GitHub (Jun 5, 2024): > A lot of activity for a closed issue ;-) Resolved: https://docs.openwebui.com/tutorial/web_search#1-searxng-configuration
Author
Owner

@JOduMonT commented on GitHub (Jun 6, 2024):

4. Set Searxng Query URL to examples given: https://<search.domain.com>/search?q=<query> or http://<searxng.local>/search?q=<query>. Do note the <query> part is mandatory.

while I do agree that should be the standard, as defined by searx-ng
but my Open-WebUI was able to search the web with my Query URL like this: http://<searxng.domain.tld>/

@JOduMonT commented on GitHub (Jun 6, 2024): > 4\. Set `Searxng Query URL` to examples given: `https://<search.domain.com>/search?q=<query>` or `http://<searxng.local>/search?q=<query>`. Do note the `<query>` part is mandatory. while I do agree that should be the standard, as defined by searx-ng but my Open-WebUI was able to search the web with my Query URL like this: `http://<searxng.domain.tld>/`
Author
Owner

@justinh-rahb commented on GitHub (Jun 6, 2024):

while I do agree that should be the standard, as defined by searx-ng but my Open-WebUI was able to search the web with my Query URL like this: http://<searxng.domain.tld>/

The search?q=<query> part was made optional in between docs being written and the eventual merge of the feature. Think I'll leave it in the docs anyway as it feels more proper to me to specify the full path.

@justinh-rahb commented on GitHub (Jun 6, 2024): > while I do agree that should be the standard, as defined by searx-ng but my Open-WebUI was able to search the web with my Query URL like this: `http://<searxng.domain.tld>/` The `search?q=<query>` part was made optional in between docs being written and the eventual merge of the feature. Think I'll leave it in the docs anyway as it feels more _proper_ to me to specify the full path.
Author
Owner

@janus78 commented on GitHub (Jun 11, 2024):

I have tried all of the proposed changes on my side but still the web search not work, I am using searxng from a docker container and on all my test I receive an alert when I select web search and send the text, the alert indicates an error on line 1 col 1 , I have active the json response on yaml config, tested locally on searxng location and returned json but seems that the search from open webui is not returning json but html from that request and the parse fails, does anyone have the same issue?, thanks.

@janus78 commented on GitHub (Jun 11, 2024): I have tried all of the proposed changes on my side but still the web search not work, I am using searxng from a docker container and on all my test I receive an alert when I select web search and send the text, the alert indicates an error on line 1 col 1 , I have active the json response on yaml config, tested locally on searxng location and returned json but seems that the search from open webui is not returning json but html from that request and the parse fails, does anyone have the same issue?, thanks.
Author
Owner

@remkolems commented on GitHub (Jun 12, 2024):

@janus78

  1. Does SearXNG work on its own as expected?
  2. Could you share your config?
  3. Could you share the alert? Print screen and drop in the comment (ctrl-v on windows)
  4. Does setting.yml of SearXNG resemble:
# removed all other parts
search:
# ... removed other parts for this section for readability ...

  # remove format to deny access, use lower case.
  # formats: [html, csv, json, rss]
  formats:
    - html
    - json # to enable ollama/open-webui
 
# rest of file also deleted
  1. Did you check/enable Web Search?
    image

A lot of functions I do not know how to enable or use. The # use is still a mystery. So learning on the go as well.

@remkolems commented on GitHub (Jun 12, 2024): @janus78 1. Does SearXNG work on its own as expected? 2. Could you share your config? 3. Could you share the alert? Print screen and drop in the comment (ctrl-v on windows) 4. Does `setting.yml` of SearXNG resemble: ```yaml # removed all other parts search: # ... removed other parts for this section for readability ... # remove format to deny access, use lower case. # formats: [html, csv, json, rss] formats: - html - json # to enable ollama/open-webui # rest of file also deleted ``` 5. Did you check/enable `Web Search`? ![image](https://github.com/open-webui/open-webui/assets/45675902/9875a9a8-4ef5-4942-8919-90a5068d2ef1) A lot of functions I do not know how to enable or use. The `#` use is still a mystery. So learning on the go as well.
Author
Owner

@remkolems commented on GitHub (Jun 12, 2024):

These are my full docker-compose files.

Do note:

  • all on AMD64 (hence via digest @sha256:)
  • I use Harbor as my local on-premise registry. I removed that part from the image: lines. There could be mistakes made, so be aware.
  • settings.yml file of SearXNG is important. Check and adjust that file accordingly.
  • I'm always open to do things better or smarter. Comments and suggestions always more than welcome!

Two folders:

  1. searxng with .env and docker-compose.yml files
  2. ollama with .env and docker-compose.yml files

Foreach folder on the command-line I execute: docker compose up -d

SearXNG

SearXNG docker-compose.yml file:

#
# https://github.com/searxng/searxng
# https://github.com/searxng/searxng/blob/master/searx/settings.yml
#
services:
  # Temporary busybox container to set correct permissions to unix shared socket folder
  # https://hub.docker.com/_/busybox/tags?page=1&name=latest
  tmp:
    image: busybox:latest@sha256:50aa4698fa6262977cff89181b2664b99d8a56dbca847bf62f2ef04854597cf8
    #command: sh -c "chown -R 33:33 /tmp/docker/ && chmod -R 770 /tmp/docker/"
    command: sh -c "chmod -R 777 /tmp/docker/"
    env_file:
      - .env
    volumes:
      - "${SEARXNG_HOME}/tmp/docker/"
    security_opt:
      - no-new-privileges:true
  #
  # redis
  #
  # https://hub.docker.com/_/redis/tags?page=1&name=alpine
  searxng-redis:
    image: redis:7.2.5-alpine3.19@sha256:892b41c092a599f76c30b48e9dcfb185ce8cea3560970b1c4f2745c89bb34344
    container_name: searxng-redis
    # hostname: searxng-redis
    restart: unless-stopped
    env_file:
      - .env
    # Download Redis at https://redis.io/download/ and unpack to extract redis.conf
    # Redis.conf contains the available commands
    # Removed from entrypoint
    # --unixsocket /tmp/docker/redis.sock
    # --unixsocketperm 755
    entrypoint: >
      redis-server --bind 127.0.0.1
      --appendonly no
      --save ""
      --protected-mode yes
      --maxmemory 50M
      --maxmemory-policy allkeys-lru
    networks:
      - lan
    ports:
      - 9736:6379
    tmpfs:
      - /var/lib/redis
    cap_drop:
      - ALL
    cap_add:
      - SETGID
      - SETUID
      - DAC_OVERRIDE
    volumes:
      - "${SEARXNG_HOME}/redis_data:/data:rw"
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    # Add shared volume from Temporary busybox container
    volumes_from:
      - tmp
    depends_on:
      - tmp
    # Run as a member of the www-data GID 33 group but keep redis uid as 999
    #user: "999:33"
    security_opt:
      - no-new-privileges:true
  #
  # searxng
  #
  # https://hub.docker.com/r/searxng/searxng/tags
  searxng:
    image: searxng/searxng:latest@sha256:2ceb4ddf2cb8a0227af416c3110dcefc188af3538a9c1a34937d2a30a837d942
    container_name: searxng
    restart: unless-stopped
    env_file:
      - .env
    networks:
      - lan
    ports:
      - 8080:8080
    volumes:
      - "${SEARXNG_HOME}/searxng_data:/etc/searxng:rw"
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    # Add shared volume from Temporary busybox container
    volumes_from:
      - tmp
    environment:
      - SEARXNG_BASE_URL=${SEARXNG_BASE_URL}
      - INSTANCE_NAME=SearXNG
      - SEARXNG_SECRET=${SEARXNG_SECRET_KEY}
      # https://docs.searxng.org/admin/engines/settings.html#redis
      - SEARXNG_REDIS_URL=unix:///tmp/docker/redis.sock?db=0 # Redis URL must specify one of the following schemes (redis://, rediss://, unix://)
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - SETGID
      - SETUID
      - DAC_OVERRIDE
    # logging:
    #   driver: "json-file"
    #   options:
    #     max-size: "1m"
    #     max-file: "1"
    depends_on:
      - tmp
      - searxng-redis
    # UID should be 977. Does not work ...
    #user: "977:33"
    security_opt:
      - no-new-privileges:true

networks:
  lan:
    ipam:
      driver: default

SearXNG .env file (adjust accordingly)

SEARXNG_HOME=/home/docker/searxng
SEARXNG_BASE_URL=<full url>
SEARXNG_SECRET_KEY=<generateYourOwnKey_See-https://github.com/CorentinTh/it-tools>

Ollama

and Ollama docker-compose.yml:

#
# https://hub.docker.com/r/ollama/ollama/tags
# https://github.com/open-webui/open-webui/pkgs/container/open-webui/versions?filters%5Bversion_type%5D=tagged
#
# Caveat:   autorun run a default model seems not possible.
# Solution:
#
# container_id=$(docker ps | grep ollama | awk '{print $1}')
# docker exec -it $container_id ollama run starcoder2:15b
#
services:
  # app:
  #   build: .
  #   ports:
  #     - 8000:8000
  #     - 5678:5678
  #   volumes:
  #     - "${OLLAMA_HOME}/code:/code"
  #   command: uvicorn src.main:app --host 0.0.0.0 --port 8000 --reload
  #   restart: always
  #   depends_on:
  #     - ollama
  #     - open-webui
  #   networks:
  #     - ollama

  #
  # https://github.com/ollama/ollama
  #
  ollama:
    image: ollama:0.1.43@sha256:ccb6b019e213ef43e2919937b8e35f10688b4589f4d076a5d5d4dd50e170fd86
    tty: true
    container_name: ollama
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - ${OLLAMA_API_PORT:-11434}:11434
    volumes:
      - "${OLLAMA_HOME}/.ollama:/root/.ollama"
    environment:
      # OLLAMA_DEBUG: false
      # OLLAMA_FLASH_ATTENTION: false
      OLLAMA_HOST: 0.0.0.0
      OLLAMA_KEEP_ALIVE: 24h
      # OLLAMA_LLM_LIBRARY:
      # OLLAMA_MAX_LOADED_MODELS: 1
      # OLLAMA_MAX_QUEUE: 512
      # OLLAMA_MAX_VRAM: 0
      # OLLAMA_MODELS:
      # OLLAMA_NOHISTORY: false
      # OLLAMA_NOPRUNE: false
      # OLLAMA_NUM_PARALLEL: 1
      # OLLAMA_ORIGINS: [http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:*]
      # OLLAMA_RUNNERS_DIR:
      # OLLAMA_TMPDIR
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              # count: 1
              capabilities:
                - gpu
    networks:
      - ollama
    security_opt:
      - no-new-privileges:true

  #
  # https://github.com/open-webui/open-webui
  # https://github.com/open-webui/open-webui/blob/main/docker-compose.yaml
  # https://github.com/open-webui/open-webui/pkgs/container/open-webui
  # https://github.com/open-webui/open-webui/pkgs/container/open-webui/versions?filters%5Bversion_type%5D=tagged
  #
  ## Note: do not use the cuda and/or ollama version. It means CUDA and Ollama is integrated into the open-webui. Not neccessary in this docker compose. See above.
  #
  open-webui:
    image: ghcr.io/open-webui/open-webui:0.3.3-ollama@sha256:2d3578399b8e68dc1b6248c2c8f784c6a38b7229c56228533815904a553f7dc0
    container_name: open-webui
    restart: unless-stopped
    env_file:
      - .env
    depends_on:
      - ollama
    ports:
      - ${OLLAMA_UI_PORT:-8434}:8080
    environment:
      # https://docs.openwebui.com/getting-started/env-configuration/#default_models
      OLLAMA_BASE_URL: ${OLLAMA_API_URL}
      WEBUI_SECRET_KEY: ${OPEN_WEBUI_SECRET_KEY}
      ENV: prod
      # SearXNG integration
      ENABLE_RAG_WEB_SEARCH: true
      RAG_WEB_SEARCH_ENGINE: searxng
      RAG_WEB_SEARCH_RESULT_COUNT: 3
      RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10
      SEARXNG_QUERY_URL: ${SEARXNG_QUERY_FQDN}
      # Enable pipelines
      # https://docs.openwebui.com/getting-started/env-configuration/#openai
      # https://github.com/open-webui/pipelines#-quick-start-with-docker
      # https://docs.openwebui.com/getting-started/env-configuration/#openai_api_base_urls
      OPENAI_API_KEYS: ${OPENAI_API_KEY_PIPELINES} # separate by ; (no spaces)
      OPENAI_API_BASE_URLS: ${OPENAI_API_BASE_URL_PIPELINES} # separate by ; (no spaces)
    volumes:
      - "${OLLAMA_HOME}/open-webui:/app/backend/data"
    extra_hosts:
      - host.docker.internal:host-gateway
    networks:
      - ollama
    security_opt:
      - no-new-privileges:true

  # Connect to Open WebUI:
  # Navigate to the Settings > Connections > OpenAI API section in Open WebUI.
  # Set the API URL to http://localhost:9099 and the API key to 0p3n-w3bu!. Your pipelines should now be active.
  # If your Open WebUI is running in a Docker container, replace localhost with host.docker.internal in the API URL.
  # OR set OPENAI_API_KEY
  pipelines:
    image: ghcr.io/open-webui/pipelines:main
    container_name: pipelines
    restart: unless-stopped
    depends_on:
      - open-webui
    # environment:
    #   # Alternatively, you can directly install pipelines from the admin settings by copying and pasting the pipeline URL, provided it doesn't have additional dependencies.
    #   # Example given
    #   PIPELINES_URLS: "https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py"
    volumes:
      - "${OLLAMA_HOME}/pipelines:/app/pipelines"
    extra_hosts:
      - host.docker.internal:host-gateway
    ports:
      - 9099:9099
    networks:
      - ollama
    security_opt:
      - no-new-privileges:true

networks:
  ollama:

Ollama .env file (adjust accordingly):

OLLAMA_HOME=/home/docker/ollama
OLLAMA_API_PORT=11434
OLLAMA_UI_PORT=8434
OLLAMA_API_URL=<full url> # e.g. -> https://ollama-api.domain.com
OPEN_WEBUI_SECRET_KEY=<generateYourOwnKey>
OPENAI_API_BASE_URL_PIPELINES=http://host.docker.internal:9099
OPENAI_API_KEY_PIPELINES=0p3n-w3bu! # as per documentation

# To enable SearXNG integration -> settings.yml must have 'json' added for 'formats'
# Change url accordingly!
# SEARXNG_QUERY_FQDN="https://search.domain.com/search?q=<query>"
SEARXNG_QUERY_FQDN="https://search.domain.com/" # this should also work

# AUTOMATIC1111_BASE_URL="http://localhost:7860"

# DO NOT TRACK
SCARF_NO_ANALYTICS=true
DO_NOT_TRACK=true
ANONYMIZED_TELEMETRY=true
@remkolems commented on GitHub (Jun 12, 2024): These are my full docker-compose files. Do note: - all on `AMD64` (hence via `digest` `@sha256:`) - I use `Harbor` as my local on-premise registry. I removed that part from the `image:` lines. There could be mistakes made, so be aware. - `settings.yml` file of `SearXNG` is important. Check and adjust that file accordingly. - I'm always open to do things better or smarter. Comments and suggestions always more than welcome! Two folders: 1. `searxng` with `.env` and `docker-compose.yml` files 2. `ollama` with `.env` and `docker-compose.yml` files Foreach folder on the command-line I execute: `docker compose up -d` SearXNG --- `SearXNG` `docker-compose.yml` file: ```yaml # # https://github.com/searxng/searxng # https://github.com/searxng/searxng/blob/master/searx/settings.yml # services: # Temporary busybox container to set correct permissions to unix shared socket folder # https://hub.docker.com/_/busybox/tags?page=1&name=latest tmp: image: busybox:latest@sha256:50aa4698fa6262977cff89181b2664b99d8a56dbca847bf62f2ef04854597cf8 #command: sh -c "chown -R 33:33 /tmp/docker/ && chmod -R 770 /tmp/docker/" command: sh -c "chmod -R 777 /tmp/docker/" env_file: - .env volumes: - "${SEARXNG_HOME}/tmp/docker/" security_opt: - no-new-privileges:true # # redis # # https://hub.docker.com/_/redis/tags?page=1&name=alpine searxng-redis: image: redis:7.2.5-alpine3.19@sha256:892b41c092a599f76c30b48e9dcfb185ce8cea3560970b1c4f2745c89bb34344 container_name: searxng-redis # hostname: searxng-redis restart: unless-stopped env_file: - .env # Download Redis at https://redis.io/download/ and unpack to extract redis.conf # Redis.conf contains the available commands # Removed from entrypoint # --unixsocket /tmp/docker/redis.sock # --unixsocketperm 755 entrypoint: > redis-server --bind 127.0.0.1 --appendonly no --save "" --protected-mode yes --maxmemory 50M --maxmemory-policy allkeys-lru networks: - lan ports: - 9736:6379 tmpfs: - /var/lib/redis cap_drop: - ALL cap_add: - SETGID - SETUID - DAC_OVERRIDE volumes: - "${SEARXNG_HOME}/redis_data:/data:rw" - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro # Add shared volume from Temporary busybox container volumes_from: - tmp depends_on: - tmp # Run as a member of the www-data GID 33 group but keep redis uid as 999 #user: "999:33" security_opt: - no-new-privileges:true # # searxng # # https://hub.docker.com/r/searxng/searxng/tags searxng: image: searxng/searxng:latest@sha256:2ceb4ddf2cb8a0227af416c3110dcefc188af3538a9c1a34937d2a30a837d942 container_name: searxng restart: unless-stopped env_file: - .env networks: - lan ports: - 8080:8080 volumes: - "${SEARXNG_HOME}/searxng_data:/etc/searxng:rw" - /etc/localtime:/etc/localtime:ro - /etc/timezone:/etc/timezone:ro # Add shared volume from Temporary busybox container volumes_from: - tmp environment: - SEARXNG_BASE_URL=${SEARXNG_BASE_URL} - INSTANCE_NAME=SearXNG - SEARXNG_SECRET=${SEARXNG_SECRET_KEY} # https://docs.searxng.org/admin/engines/settings.html#redis - SEARXNG_REDIS_URL=unix:///tmp/docker/redis.sock?db=0 # Redis URL must specify one of the following schemes (redis://, rediss://, unix://) cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID - DAC_OVERRIDE # logging: # driver: "json-file" # options: # max-size: "1m" # max-file: "1" depends_on: - tmp - searxng-redis # UID should be 977. Does not work ... #user: "977:33" security_opt: - no-new-privileges:true networks: lan: ipam: driver: default ``` `SearXNG` `.env` file (adjust accordingly) ```env SEARXNG_HOME=/home/docker/searxng SEARXNG_BASE_URL=<full url> SEARXNG_SECRET_KEY=<generateYourOwnKey_See-https://github.com/CorentinTh/it-tools> ``` Ollama --- and `Ollama` `docker-compose.yml`: ```yml # # https://hub.docker.com/r/ollama/ollama/tags # https://github.com/open-webui/open-webui/pkgs/container/open-webui/versions?filters%5Bversion_type%5D=tagged # # Caveat: autorun run a default model seems not possible. # Solution: # # container_id=$(docker ps | grep ollama | awk '{print $1}') # docker exec -it $container_id ollama run starcoder2:15b # services: # app: # build: . # ports: # - 8000:8000 # - 5678:5678 # volumes: # - "${OLLAMA_HOME}/code:/code" # command: uvicorn src.main:app --host 0.0.0.0 --port 8000 --reload # restart: always # depends_on: # - ollama # - open-webui # networks: # - ollama # # https://github.com/ollama/ollama # ollama: image: ollama:0.1.43@sha256:ccb6b019e213ef43e2919937b8e35f10688b4589f4d076a5d5d4dd50e170fd86 tty: true container_name: ollama restart: unless-stopped env_file: - .env ports: - ${OLLAMA_API_PORT:-11434}:11434 volumes: - "${OLLAMA_HOME}/.ollama:/root/.ollama" environment: # OLLAMA_DEBUG: false # OLLAMA_FLASH_ATTENTION: false OLLAMA_HOST: 0.0.0.0 OLLAMA_KEEP_ALIVE: 24h # OLLAMA_LLM_LIBRARY: # OLLAMA_MAX_LOADED_MODELS: 1 # OLLAMA_MAX_QUEUE: 512 # OLLAMA_MAX_VRAM: 0 # OLLAMA_MODELS: # OLLAMA_NOHISTORY: false # OLLAMA_NOPRUNE: false # OLLAMA_NUM_PARALLEL: 1 # OLLAMA_ORIGINS: [http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:*] # OLLAMA_RUNNERS_DIR: # OLLAMA_TMPDIR deploy: resources: reservations: devices: - driver: nvidia count: all # count: 1 capabilities: - gpu networks: - ollama security_opt: - no-new-privileges:true # # https://github.com/open-webui/open-webui # https://github.com/open-webui/open-webui/blob/main/docker-compose.yaml # https://github.com/open-webui/open-webui/pkgs/container/open-webui # https://github.com/open-webui/open-webui/pkgs/container/open-webui/versions?filters%5Bversion_type%5D=tagged # ## Note: do not use the cuda and/or ollama version. It means CUDA and Ollama is integrated into the open-webui. Not neccessary in this docker compose. See above. # open-webui: image: ghcr.io/open-webui/open-webui:0.3.3-ollama@sha256:2d3578399b8e68dc1b6248c2c8f784c6a38b7229c56228533815904a553f7dc0 container_name: open-webui restart: unless-stopped env_file: - .env depends_on: - ollama ports: - ${OLLAMA_UI_PORT:-8434}:8080 environment: # https://docs.openwebui.com/getting-started/env-configuration/#default_models OLLAMA_BASE_URL: ${OLLAMA_API_URL} WEBUI_SECRET_KEY: ${OPEN_WEBUI_SECRET_KEY} ENV: prod # SearXNG integration ENABLE_RAG_WEB_SEARCH: true RAG_WEB_SEARCH_ENGINE: searxng RAG_WEB_SEARCH_RESULT_COUNT: 3 RAG_WEB_SEARCH_CONCURRENT_REQUESTS: 10 SEARXNG_QUERY_URL: ${SEARXNG_QUERY_FQDN} # Enable pipelines # https://docs.openwebui.com/getting-started/env-configuration/#openai # https://github.com/open-webui/pipelines#-quick-start-with-docker # https://docs.openwebui.com/getting-started/env-configuration/#openai_api_base_urls OPENAI_API_KEYS: ${OPENAI_API_KEY_PIPELINES} # separate by ; (no spaces) OPENAI_API_BASE_URLS: ${OPENAI_API_BASE_URL_PIPELINES} # separate by ; (no spaces) volumes: - "${OLLAMA_HOME}/open-webui:/app/backend/data" extra_hosts: - host.docker.internal:host-gateway networks: - ollama security_opt: - no-new-privileges:true # Connect to Open WebUI: # Navigate to the Settings > Connections > OpenAI API section in Open WebUI. # Set the API URL to http://localhost:9099 and the API key to 0p3n-w3bu!. Your pipelines should now be active. # If your Open WebUI is running in a Docker container, replace localhost with host.docker.internal in the API URL. # OR set OPENAI_API_KEY pipelines: image: ghcr.io/open-webui/pipelines:main container_name: pipelines restart: unless-stopped depends_on: - open-webui # environment: # # Alternatively, you can directly install pipelines from the admin settings by copying and pasting the pipeline URL, provided it doesn't have additional dependencies. # # Example given # PIPELINES_URLS: "https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py" volumes: - "${OLLAMA_HOME}/pipelines:/app/pipelines" extra_hosts: - host.docker.internal:host-gateway ports: - 9099:9099 networks: - ollama security_opt: - no-new-privileges:true networks: ollama: ``` `Ollama` `.env` file (adjust accordingly): ```env OLLAMA_HOME=/home/docker/ollama OLLAMA_API_PORT=11434 OLLAMA_UI_PORT=8434 OLLAMA_API_URL=<full url> # e.g. -> https://ollama-api.domain.com OPEN_WEBUI_SECRET_KEY=<generateYourOwnKey> OPENAI_API_BASE_URL_PIPELINES=http://host.docker.internal:9099 OPENAI_API_KEY_PIPELINES=0p3n-w3bu! # as per documentation # To enable SearXNG integration -> settings.yml must have 'json' added for 'formats' # Change url accordingly! # SEARXNG_QUERY_FQDN="https://search.domain.com/search?q=<query>" SEARXNG_QUERY_FQDN="https://search.domain.com/" # this should also work # AUTOMATIC1111_BASE_URL="http://localhost:7860" # DO NOT TRACK SCARF_NO_ANALYTICS=true DO_NOT_TRACK=true ANONYMIZED_TELEMETRY=true ```
Author
Owner

@adriangalilea commented on GitHub (Aug 5, 2024):

Following the docs word by word lead me to

Expecting value: line 1 column 1 (char 0)

Note that searxng is working perfectly fine on localhost:8080

image

Setting up the web search tool available here gives me:

Error during search: 403 Client Error: FORBIDDEN for url: http://searxng:8080/search?q=%3Cquery%3E&q=what+happened+on+the+markets+today&format=json&number_of_results=3

I also tried using http://localhost:8080 instead of http://searxng:8080 didn't work either.

@adriangalilea commented on GitHub (Aug 5, 2024): Following the docs word by word lead me to `Expecting value: line 1 column 1 (char 0)` Note that searxng is working perfectly fine on `localhost:8080` <img width="1070" alt="image" src="https://github.com/user-attachments/assets/7b844749-f558-4cce-9f84-f14593a8dda2"> Setting up the web search tool available [here](https://openwebui.com/t/constliakos/web_search) gives me: `Error during search: 403 Client Error: FORBIDDEN for url: http://searxng:8080/search?q=%3Cquery%3E&q=what+happened+on+the+markets+today&format=json&number_of_results=3 ` I also tried using `http://localhost:8080` instead of `http://searxng:8080` didn't work either.
Author
Owner

@melihozaydin commented on GitHub (Sep 2, 2024):

Hi,
writing on this as i still have issues with setting searxng up and can't find any docs related to my issue.

I have searxng running on the below config on port 8085 in a container.

Openwebui deployment command

....
  -p 8080:8080 ^
  --network ollama-docker ^
  -e ENABLE_RAG_WEB_SEARCH=True ^
  -e RAG_WEB_SEARCH_ENGINE="searxng" ^
  -e RAG_WEB_SEARCH_RESULT_COUNT=3 ^
  -e RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10 ^
  -e SEARXNG_QUERY_URL="http://searxng:8080/search?q=<query>" ^

searxng settings

same as:
https://docs.openwebui.com/tutorial/web_search/#1-searxng-configuration

searxng deployment

podman run -d ^
  --name searxng ^
  --network ollama-docker ^
  -p 8085:8080 ^
  -v %SEARXNG_VOLUME%:/etc/searxng ^
  --restart always ^
  searxng/searxng:latest

i can access it via web browser and use it. But Webui gives me below error (in a red popup above screen) when i enable websearch and try to chat.

HTTPConnectionPool(host='searxng', port=8085): Max retries exceeded with url: 
 ---/search?q=.... ---

(Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fc4d9b4f210>: Failed to establish a new connection: [Errno 111] Connection refused'))

Also on another note may be useful to not use same port numbers on the example (eg. 8080 on both Openwebui and SEARXNG_QUERY_URL)
as it can be confusing if the internal port or external port should be given to OpenWebUI.
I might be nitpicking tho :/

@melihozaydin commented on GitHub (Sep 2, 2024): Hi, writing on this as i still have issues with setting searxng up and can't find any docs related to my issue. I have searxng running on the below config on port 8085 in a container. Openwebui deployment command ``` .... -p 8080:8080 ^ --network ollama-docker ^ -e ENABLE_RAG_WEB_SEARCH=True ^ -e RAG_WEB_SEARCH_ENGINE="searxng" ^ -e RAG_WEB_SEARCH_RESULT_COUNT=3 ^ -e RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10 ^ -e SEARXNG_QUERY_URL="http://searxng:8080/search?q=<query>" ^ ``` searxng settings ``` same as: https://docs.openwebui.com/tutorial/web_search/#1-searxng-configuration ``` searxng deployment ``` podman run -d ^ --name searxng ^ --network ollama-docker ^ -p 8085:8080 ^ -v %SEARXNG_VOLUME%:/etc/searxng ^ --restart always ^ searxng/searxng:latest ``` i can access it via web browser and use it. But Webui gives me below error (in a red popup above screen) when i enable websearch and try to chat. ``` HTTPConnectionPool(host='searxng', port=8085): Max retries exceeded with url: ---/search?q=.... --- (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fc4d9b4f210>: Failed to establish a new connection: [Errno 111] Connection refused')) ``` Also on another note may be useful to not use same port numbers on the example (eg. 8080 on both Openwebui and SEARXNG_QUERY_URL) as it can be confusing if the internal port or external port should be given to OpenWebUI. I might be nitpicking tho :/
Author
Owner

@Peter-De-Ath commented on GitHub (Sep 2, 2024):

Hi, writing on this as i still have issues with setting searxng up and can't find any docs related to my issue.

I have searxng running on the below config on port 8085 in a container.

Openwebui deployment command

....
  -p 8080:8080 ^
  --network ollama-docker ^
  -e ENABLE_RAG_WEB_SEARCH=True ^
  -e RAG_WEB_SEARCH_ENGINE="searxng" ^
  -e RAG_WEB_SEARCH_RESULT_COUNT=3 ^
  -e RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10 ^
  -e SEARXNG_QUERY_URL="http://searxng:8080/search?q=<query>" ^

searxng settings

same as:
https://docs.openwebui.com/tutorial/web_search/#1-searxng-configuration

searxng deployment

podman run -d ^
  --name searxng ^
  --network ollama-docker ^
  -p 8085:8080 ^
  -v %SEARXNG_VOLUME%:/etc/searxng ^
  --restart always ^
  searxng/searxng:latest

i can access it via web browser and use it. But Webui gives me below error (in a red popup above screen) when i enable websearch and try to chat.

HTTPConnectionPool(host='searxng', port=8085): Max retries exceeded with url: 
 ---/search?q=.... ---

(Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fc4d9b4f210>: Failed to establish a new connection: [Errno 111] Connection refused'))

Also on another note may be useful to not use same port numbers on the example (eg. 8080 on both Openwebui and SEARXNG_QUERY_URL) as it can be confusing if the internal port or external port should be given to OpenWebUI. I might be nitpicking tho :/

The documentation port is correct

Because you are accessing the searxng container from within the ollama-docker network it should be accessible on port 8080 as the example shows.
Outside of this network it'll be 8085.

@Peter-De-Ath commented on GitHub (Sep 2, 2024): > Hi, writing on this as i still have issues with setting searxng up and can't find any docs related to my issue. > > I have searxng running on the below config on port 8085 in a container. > > Openwebui deployment command > > ``` > .... > -p 8080:8080 ^ > --network ollama-docker ^ > -e ENABLE_RAG_WEB_SEARCH=True ^ > -e RAG_WEB_SEARCH_ENGINE="searxng" ^ > -e RAG_WEB_SEARCH_RESULT_COUNT=3 ^ > -e RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10 ^ > -e SEARXNG_QUERY_URL="http://searxng:8080/search?q=<query>" ^ > ``` > > searxng settings > > ``` > same as: > https://docs.openwebui.com/tutorial/web_search/#1-searxng-configuration > ``` > > searxng deployment > > ``` > podman run -d ^ > --name searxng ^ > --network ollama-docker ^ > -p 8085:8080 ^ > -v %SEARXNG_VOLUME%:/etc/searxng ^ > --restart always ^ > searxng/searxng:latest > ``` > > i can access it via web browser and use it. But Webui gives me below error (in a red popup above screen) when i enable websearch and try to chat. > > ``` > HTTPConnectionPool(host='searxng', port=8085): Max retries exceeded with url: > ---/search?q=.... --- > > (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fc4d9b4f210>: Failed to establish a new connection: [Errno 111] Connection refused')) > ``` > > Also on another note may be useful to not use same port numbers on the example (eg. 8080 on both Openwebui and SEARXNG_QUERY_URL) as it can be confusing if the internal port or external port should be given to OpenWebUI. I might be nitpicking tho :/ The documentation port is correct Because you are accessing the searxng container from within the ollama-docker network it should be accessible on port 8080 as the example shows. Outside of this network it'll be 8085.
Author
Owner

@melihozaydin commented on GitHub (Sep 4, 2024):

Thanks that makes sense. But i still get following error when i try to use searxng in webui on port 8080

Searxng Query URL: http://searxng:8080/search?q=<query>

Something went wrong :/ [Errno -2] Name or service not known
@melihozaydin commented on GitHub (Sep 4, 2024): Thanks that makes sense. But i still get following error when i try to use searxng in webui on port 8080 **Searxng Query URL:** `http://searxng:8080/search?q=<query>` ``` Something went wrong :/ [Errno -2] Name or service not known ```
Author
Owner

@miguelgargallo commented on GitHub (Sep 8, 2024):

I'm an idiot. Sorry.

No, you are not, this is no clearly explained well on dev repo .env file
image

@miguelgargallo commented on GitHub (Sep 8, 2024): > I'm an idiot. Sorry. No, you are not, this is no clearly explained well on dev repo .env file ![image](https://github.com/user-attachments/assets/9a110515-e430-4794-ba43-fc4e61d1b164)
Author
Owner

@anonymousmaharaj commented on GitHub (Sep 24, 2024):

Thanks that makes sense. But i still get following error when i try to use searxng in webui on port 8080

Searxng Query URL: http://searxng:8080/search?q=<query>

Something went wrong :/ [Errno -2] Name or service not known

Hey! Did you find the solution? I still have this issue.

@anonymousmaharaj commented on GitHub (Sep 24, 2024): > Thanks that makes sense. But i still get following error when i try to use searxng in webui on port 8080 > > **Searxng Query URL:** `http://searxng:8080/search?q=<query>` > > ``` > Something went wrong :/ [Errno -2] Name or service not known > ``` Hey! Did you find the solution? I still have this issue.
Author
Owner

@melihozaydin commented on GitHub (Sep 25, 2024):

Thanks that makes sense. But i still get following error when i try to use searxng in webui on port 8080
Searxng Query URL: http://searxng:8080/search?q=<query>

Something went wrong :/ [Errno -2] Name or service not known

Hey! Did you find the solution? I still have this issue.

Yes, I dont know why but it works after reducing concurrent request limit to 2 from the default value.

@melihozaydin commented on GitHub (Sep 25, 2024): > > Thanks that makes sense. But i still get following error when i try to use searxng in webui on port 8080 > > **Searxng Query URL:** `http://searxng:8080/search?q=<query>` > > ``` > > Something went wrong :/ [Errno -2] Name or service not known > > ``` > > Hey! Did you find the solution? I still have this issue. Yes, I dont know why but it works after reducing concurrent request limit to 2 from the default value.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/open-webui#1096