SearXNG/Hosting a public instance
There are several public instances of SearXNG, and you can host your own.
DNS configuration
editCreate 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
editThere are several HTTP servers available. The most popular ones all work with SearXNG.
Caddy
editThis is the recommended server, as it is the easiest to configure and automatically obtains a TLS certificate from Let's Encrypt.
Docker container
editIf 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
editNginX
editApache
editObtaining a TLS certificate
editA 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
editCaddy automatically obtains a TLS certificate, so you do not need to do anything if you used Caddy.
Other web servers
editVisit the Certbot website and follow the instructions there.
Adding your instance to the list
editAn 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.