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.mozlz4
and 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=%7BsearchTerms%7D"/> <Url rel="suggestions" type="application/x-suggestions+json" method="GET" template="https://192.168.2.20:8080/autocompleter?q=%7BsearchTerms%7D"/> <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:8080/
for some reason.https://search.home/
will 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_url
in the config is actuallyBASE_URL
rather 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_HOSTNAME
in my.env
file solved it.Changing
SEARXNG_HOSTNAME
in my.env
file 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 stringHOSTNAME
does 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
Dockerfile
source for the image is actually in the main repo at https://github.com/searxng/searxng/blob/master/Dockerfile and thesearxng-docker
repo actually contains adocker-compose.yaml
and different instructions for running it under compose instead.Anyway, in the
docker-compose
deployment,SEARXNG_BASE_URL
(yet another name for this… neitherSEARXNG_URL
orBASE_URL
, but apparently it setsbase_url
from it) is constructed fromSEARXNG_HOSTNAME
on 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 😢