Skip to content
Back to top
View this page
Edit this page

# 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.

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