I have a SearXNG instance running locally, and I have a proxy entry for this (search.home). When I go to https://search.home/ in Firefox, it works as expected and brings me to SearXNG, however if I try adding this as my default search, it instead resolves to the IP and not the hostname, which fails because the IP does not have a cert on it and it tries to hit it with https (as would work with the hostname).
This works in Firefox mobile, and every other web browser I’ve tried on desktop, just not Firefox for some reason. I’ve tried various about:config changes but so far no luck. Anyone else have a workaround for this? It would be nice if Firefox showed you what it actually has saved for the url/hostname/IP of the search engine in the Search section of the Settings, but sadly it just has the name and shortcut listed.


Have you looked at the OpenSearch Description file for your instance? It might be generated with an IP by SearXNG not knowing the hostname. The URL is probably
https://search.home/opensearch.xml.If you want to examine the search engines in your browser profile, they’re stored in a json file compressed with a mozilla specific variant of lz4. The file is
search.json.mozlz4and can be unpacked to json with lz4json.Thanks! The output of the xml is as follows
<OpenSearchDescription> <ShortName>SearXNG</ShortName> <LongName>SearXNG metasearch</LongName> <Description> SearXNG is a metasearch engine that respects your privacy. </Description> <InputEncoding>UTF-8</InputEncoding> <Image type="image/png"> https://192.168.2.20:8080/static/themes/simple/img/favicon.png?60321eeb6e2f478f0e5704529308c594d5924246 </Image> <Url rel="results" type="text/html" method="GET" template="https://192.168.2.20:8080/search?q={searchTerms}"/> <Url rel="suggestions" type="application/x-suggestions+json" method="GET" template="https://192.168.2.20:8080/autocompleter?q={searchTerms}"/> <Url rel="self" type="application/opensearchdescription+xml" method="GET" template="https://192.168.2.20:8080/opensearch.xml"/> <Query role="example" searchTerms="SearXNG"/> <moz:SearchForm>https://192.168.2.20:8080/search</moz:SearchForm> </OpenSearchDescription>It looks like it’s set to use
https://192.168.2.20:8080for some reason.https://search.homewill resolve fine but using https with the underlying IP will not.https://docs.searxng.org/admin/settings/settings_server.html says you need to set
base_url, and that by default it’s set to$SEARXNG_URL.however, https://docs.searxng.org/admin/installation-docker.html#searxng-searxng says that if you are running it under docker the environment variable which controls
base_urlin the config is actuallyBASE_URLrather thanSEARXNG_URL.(possibly whichever variable it is is currently empty, which might make it construct a URL based on the IP address it is configured to listen on.)
You’re a legend. Changing
SEARXNG_HOSTNAMEin my.envfile solved it.nice. (but, i assume you actually mean
SEARXNG_URL? either that or you’re deploying it under some environment other than one described in the official repo, because the stringHOSTNAMEdoes not appear anywhere in the searxng repo.)The file in question can be found here
I see. What a mess.
The instructions at https://docs.searxng.org/admin/installation-docker.html mention that the docker image (which that page tells you to just pull and run) has its “sources hosted at” https://github.com/searxng/searxng-docker and has instructions for running it the image without docker-compose.
But, the
Dockerfilesource for the image is actually in the main repo at https://github.com/searxng/searxng/blob/master/Dockerfile and thesearxng-dockerrepo actually contains adocker-compose.yamland different instructions for running it under compose instead.Anyway, in the
docker-composedeployment,SEARXNG_BASE_URL(yet another name for this… neitherSEARXNG_URLorBASE_URL, but apparently it setsbase_urlfrom it) is constructed fromSEARXNG_HOSTNAMEon line 58 here: https://github.com/searxng/searxng-docker/blob/a899b72a507074d8618d32d82f5355e23ecbe477/docker-compose.yaml#L58If I had a github account associated with this pseudonym I might open an issue or PR about this, but I don’t and it isn’t easy to make one anymore 😢