All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m21s
Zwei Fixes gegen die hartnäckigen DDG-CAPTCHA-Fehler im SearXNG-Log: 1. searxng.ts fragt jetzt explizit `engines=brave,mojeek` an. Vorher wurde nur `categories=general` gesetzt — dadurch wurden alle in dieser Kategorie aktivierten Engines abgefragt, inkl. DDG (das trotz `disabled: true` weiter antwortete). 2. settings.yml nutzt `use_default_settings.engines.keep_only` statt einzelner `disabled: true`-Overrides. SearXNGs Merge-Semantik für partielle Engine-Overrides (nur name + disabled ohne engine:) greift in der aktuellen Version nicht zuverlässig, deshalb kam DDG durch. keep_only wirft alles außer brave+mojeek vor dem Laden raus — kein Captcha-/403-Log-Lärm mehr. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
68 lines
2.0 KiB
YAML
68 lines
2.0 KiB
YAML
# Defaults laden, aber Engine-Liste rigoros auf brave + mojeek eindampfen.
|
|
# keep_only ist robuster als einzelne `disabled: true`-Overrides: SearXNGs
|
|
# Merge-Semantik für partial overrides (nur name + disabled ohne engine:)
|
|
# greift nicht zuverlässig — DDG & Co. wurden trotzdem abgefragt. keep_only
|
|
# wirft alles andere vor dem Laden raus, kein Captcha-/403-Log-Lärm mehr.
|
|
use_default_settings:
|
|
engines:
|
|
keep_only:
|
|
- brave
|
|
- mojeek
|
|
|
|
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
|
|
|
|
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
|
|
|
|
# Mojeek: eigener Index, seltener Rate-Limits, ergänzt Brave.
|
|
- name: mojeek
|
|
engine: mojeek
|
|
shortcut: mjk
|
|
timeout: 6.0
|
|
disabled: false
|