SearXNG/Hosting a public instance
There are several public instances of SearXNG, and you can host your own.
DNS configuration
[edit | edit source]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
[edit | edit source]There are several HTTP servers available. The most popular ones all work with SearXNG.
Caddy
[edit | edit source]This is the recommended server, as it is the easiest to configure and automatically obtains a TLS certificate from Let's Encrypt.
Docker container
[edit | edit source]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
[edit | edit source]NginX
[edit | edit source]Apache
[edit | edit source]Obtaining a TLS certificate
[edit | edit source]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
[edit | edit source]Caddy automatically obtains a TLS certificate, so you do not need to do anything if you used Caddy.
Other web servers
[edit | edit source]Visit the Certbot website and follow the instructions there.
Adding your instance to the list
[edit | edit source]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.