# =============================================================================
# SearXNG Custom Settings — overrides defaults from the container image
# Full reference: https://docs.searxng.org/admin/settings/index.html
# =============================================================================

use_default_settings:
  engines:
    remove:
      - wikidata
      - ahmia
      - torch
      - karmasearch
      - karmasearch.videos
      - brave
      - brave.images
      - brave.news
      - brave.videos

general:
  instance_name: "SearXNG"
  instance_about_url: false
  contact_url: false
  debug: false
  # Disable public metrics page (/stats/errors) to reduce attack surface
  enable_metrics: false

search:
  safe_search: 0
  # "" disables; "duckduckgo" is the most private working option
  autocomplete: ""
  default_lang: "auto"
  formats:
    - html
    - json
  # 3s is too tight; 8s covers slower engines without hanging the UI
  request_timeout: 8.0
  # Ban time after an engine raises a suspended-time exception (default 86400)
  ban_time_on_fail: 60
  max_ban_time_on_fail: 600

server:
  # REQUIRED. Generate with: openssl rand -hex 32
  # Prefer setting SEARXNG_SECRET in docker-compose and letting the entrypoint
  # substitute it; hardcoding a real secret here is a leak risk.
  #secret_key: "changeme_please_generate_a_secret"
  bind_address: "0.0.0.0"
  port: 8080
  # Enable ONLY if you ship a limiter.toml AND your proxy forwards X-Real-IP.
  # Otherwise you'll get "X-Forwarded-For nor X-Real-IP header is set!" noise.
  limiter: false
  # Mark as true if instance is internet-facing; tightens some defaults.
  public_instance: false
  base_url: "https://searxng.pfi.local/"
  # Allow only GET to the search endpoint (simpler, works with most clients)
  method: "GET"
  compression: true
  # Set to true if you need image_proxy rewriting for privacy
  image_proxy: false

# Outgoing HTTP pool — tuned for a low-traffic private instance.
# Defaults are fine for most, but these reduce memory use and tighten timeouts.
outgoing:
  request_timeout: 6.0
  max_request_timeout: 12.0
  pool_connections: 100
  pool_maxsize: 20
  enable_http2: true
  # Uncomment if you want to route outbound traffic via Tor for .onion engines
  # proxies:
  #   all://:
  #     - socks5h://tor:9050


