feat(searxng): Brave via API-Key, robustere Timeouts + Engine-Mix
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m19s
All checks were successful
Build & Publish Docker Image / build-and-push (push) Successful in 1m19s
Nach den 403/Too-Many-Requests-Logs des Pi jetzt SearXNG-Setup auf
API-first + höhere Timeouts umgestellt:
- Brave läuft über den API-Key aus BRAVE_API_KEY (via !env in settings.yml
gelesen). Kein Scraping-Ban-Spam mehr. Key wird im .env auf dem Pi
gepflegt (nicht im Repo) und ans searxng-Container durchgereicht.
- outgoing.request_timeout 3s → 8s, max_request_timeout → 12s. Pi
hängt gelegentlich knapp am Default-Limit, lieber warten als 0
Treffer.
- DuckDuckGo-Timeout einzeln auf 8s, Mojeek als zusätzliche Quelle
(eigener Index, selten Rate-Limits).
- Video-/News-/Image-Engines explizit disabled (Google/Bing/karmasearch
videos etc.) — produzieren für Rezeptseiten nur 403-Noise.
docker-compose.prod.yml reicht BRAVE_API_KEY=${BRAVE_API_KEY:-} an den
searxng-Container weiter. Leerer Key ist ok — Brave meldet 401 bei der
ersten Query, andere Engines laufen unbeeindruckt weiter.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -36,6 +36,9 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
- BASE_URL=http://searxng:8080/
|
- BASE_URL=http://searxng:8080/
|
||||||
- INSTANCE_NAME=kochwas-search
|
- INSTANCE_NAME=kochwas-search
|
||||||
|
# Brave Search API-Key aus .env (auf dem Pi gepflegt, nicht im Repo).
|
||||||
|
# Leer oder fehlend → brave-Engine ist im settings.yml disabled/default.
|
||||||
|
- BRAVE_API_KEY=${BRAVE_API_KEY:-}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
networks:
|
networks:
|
||||||
- internal
|
- internal
|
||||||
|
|||||||
@@ -21,6 +21,12 @@ search:
|
|||||||
autocomplete: ''
|
autocomplete: ''
|
||||||
default_lang: 'de'
|
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:
|
ui:
|
||||||
default_locale: de
|
default_locale: de
|
||||||
|
|
||||||
@@ -29,3 +35,46 @@ enabled_plugins:
|
|||||||
- 'Hash plugin'
|
- 'Hash plugin'
|
||||||
- 'Tracker URL remover'
|
- 'Tracker URL remover'
|
||||||
- 'Open Access DOI rewrite'
|
- 'Open Access DOI rewrite'
|
||||||
|
|
||||||
|
engines:
|
||||||
|
# Brave mit API-Key: stabiler als der HTML-Scraper, kein Rate-Limit-Spam
|
||||||
|
# mehr. Key kommt aus dem BRAVE_API_KEY-Env (.env auf dem Pi, nicht im Repo).
|
||||||
|
# Fehlt der Key oder ist er leer, fällt Brave bei der ersten Anfrage zurück
|
||||||
|
# auf einen 401 — andere Engines laufen normal weiter.
|
||||||
|
- name: brave
|
||||||
|
engine: brave
|
||||||
|
shortcut: br
|
||||||
|
categories: [general, web]
|
||||||
|
timeout: 6.0
|
||||||
|
api_key: !env BRAVE_API_KEY
|
||||||
|
disabled: false
|
||||||
|
|
||||||
|
# DuckDuckGo: Standard-Scraper, 3s-Default war zu knapp. Bleibt als Fallback,
|
||||||
|
# falls Brave mal ausfällt oder nicht liefert.
|
||||||
|
- name: duckduckgo
|
||||||
|
engine: duckduckgo
|
||||||
|
shortcut: ddg
|
||||||
|
timeout: 8.0
|
||||||
|
|
||||||
|
# Mojeek: eigener Index, seltener Rate-Limits, ergänzt die großen zwei.
|
||||||
|
- 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
|
||||||
|
|||||||
Reference in New Issue
Block a user