Architecture

Herein you will find some hints and suggestions about typical architectures of SearXNG infrastructures.

uWSGI Setup

We start with a reference setup for public SearXNG instances which can be build up and maintained by the scripts from our DevOps tooling box.

arch_public.dot

Fig. 2 Reference architecture of a public SearXNG setup.

The reference installation activates server.limiter and server.image_proxy (/etc/searxng/settings.yml)

# SearXNG settings

use_default_settings: true

general:
  debug: false
  instance_name: "SearXNG"

search:
  safe_search: 2
  autocomplete: 'duckduckgo'
  formats:
    - html

server:
  # Is overwritten by ${SEARXNG_SECRET}
  secret_key: "ultrasecretkey"
  limiter: true
  image_proxy: true
  # public URL of the instance, to ensure correct inbound links. Is overwritten
  # by ${SEARXNG_BASE_URL}.
  # base_url: http://example.com/location

valkey:
  # URL to connect valkey database. Is overwritten by ${SEARXNG_VALKEY_URL}.
  url: valkey://localhost:6379/0