Files
kochwas/searxng/settings.yml
hsiegeln f89f363183
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m21s
fix(searxng): auf engine: braveapi wechseln (API-Key wird nun genutzt)
Die SearXNG-Engine "brave" ist ein HTML-Scraper von search.brave.com
und ignoriert den api_key-Parameter. Dadurch liefen alle Anfragen
gegen den gescrapten Web-Endpoint, der aus dem Pi-Netz regelmäßig
rate-limited wurde (SearxEngineTooManyRequestsException, 60%).

Fix: engine: braveapi nutzen. Das ist die offizielle Brave-Search-API-
Engine, die den api_key als X-Subscription-Token-Header sendet.
Der Key steht unverändert in .env auf dem Pi und wird vom
searxng-init-Container ins gerenderte settings.yml expandiert.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 21:03:48 +02:00

100 lines
2.9 KiB
YAML

use_default_settings: true
server:
# Platzhalter wird beim Container-Start per os.path.expandvars aus der
# SEARXNG_SECRET-Env-Variable gesetzt (Default im docker-compose.prod.yml).
secret_key: "${SEARXNG_SECRET}"
# Disables rate limiter + bot detection. This is a private internal service
# called only by kochwas — no public exposure, no abuse risk.
limiter: false
public_instance: false
image_proxy: false
default_http_headers:
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Robots-Tag: noindex, nofollow
search:
formats:
- html
- json
safe_search: 0
autocomplete: ''
default_lang: 'de'
# Höhere Timeouts als Default (3s), weil der Pi und einige Upstream-Engines
# öfter knapp drüber liegen — lieber 8s warten als gar kein Ergebnis.
outgoing:
request_timeout: 8.0
max_request_timeout: 12.0
ui:
default_locale: de
# Quieten engines that fail on cold start and aren't useful here
enabled_plugins:
- 'Hash plugin'
- 'Tracker URL remover'
- 'Open Access DOI rewrite'
engines:
# Brave Search API (engine: braveapi). Die Engine "brave" ist der
# HTML-Scraper von search.brave.com und ignoriert api_key — deshalb
# hier explizit braveapi, sonst landen wir in Brave-Rate-Limits.
# Key kommt aus dem BRAVE_API_KEY-Env (.env auf dem Pi, nicht im Repo),
# expandiert via Python os.path.expandvars im searxng-init-Container.
- name: brave
engine: braveapi
shortcut: br
categories: [general, web]
timeout: 6.0
api_key: "${BRAVE_API_KEY}"
disabled: false
# DuckDuckGo: deaktiviert, weil DDG die Pi-IP als Bot erkannt hat und
# bei jeder Anfrage mit CAPTCHA antwortet. Brave (API) + Mojeek decken
# die Websuche zuverlässig ab — DDG-Scraping wäre nur zusätzlicher Lärm.
- name: duckduckgo
disabled: true
# Mojeek: eigener Index, seltener Rate-Limits, ergänzt Brave.
- name: mojeek
engine: mojeek
shortcut: mjk
timeout: 6.0
disabled: false
# Video-/News-Engines abdrehen — wir wollen nur Text-Treffer für Rezeptseiten.
- name: google videos
disabled: true
- name: google news
disabled: true
- name: google images
disabled: true
- name: bing videos
disabled: true
- name: bing news
disabled: true
- name: bing images
disabled: true
- name: karmasearch videos
disabled: true
# Startpage: hat unsere Pi-IP als Bot erkannt und blockt mit Captcha
# (1h suspended_time pro Fehler). Bringt für Rezeptsuche nichts, was
# nicht schon Brave/DDG liefern.
- name: startpage
disabled: true
# Tor-basierte Engines brauchen einen Tor-Proxy im Container — haben
# wir nicht, also harmlos deaktivieren, um Init-Fehler loszuwerden.
- name: ahmia
disabled: true
- name: torch
disabled: true
# Wikidata produziert beim Cold-Start einen KeyError (Init-Bug in der
# aktuellen SearXNG-Version 2026.4). Für Rezeptsuche ohne Mehrwert.
- name: wikidata
disabled: true