SearXNG/Hosting a public instance

From Wikibooks, open books for an open world
Jump to navigation Jump to search

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.