SearXNG/Hosting a public instance
There are several public instances of SearXNG, and you can host your own.
DNS configuration
Create DNS A records (and AAAA records if your server uses IPv6) with your domain name registrar pointing to the server that you are hosting your instance on.
Setting up the HTTP server
There are several HTTP servers available. The most popular ones all work with SearXNG.
Caddy
This is the recommended server, as it is the easiest to configure and automatically obtains a TLS certificate from Let's Encrypt.
Docker container
If you installed the SearXNG docker container, add the following to your Caddyfile, and reload Caddy. Replace "example.com" with your fully-qualified domain name:
example.com {
reverse_proxy localhost:8080
}
Installation script and manual installation
NginX
Apache
Obtaining a TLS certificate
A TLS certificate is necessary in order to use HTTPS, which is preferred by most modern web browsers. For this tutorial, we will use Let's Encrypt for a certificate, as Let's Encrypt provides certificates for free.
Caddy
Caddy automatically obtains a TLS certificate, so you do not need to do anything if you used Caddy.
Other web servers
Visit the Certbot website and follow the instructions there.
Adding your instance to the list
An official list of public instances is maintained at searx.space. You can add your own by going to the Github repository and creating a new issue to add your instance. Ensure you meet the requirements.