SearXNG auf dem Synology NAS installieren: private Metasuchmaschine ohne Tracking
SearXNG bündelt über 70 Suchmaschinen auf Ihrem Synology NAS, ohne Profildaten und ohne Tracking. Die Anleitung zeigt die Einrichtung mit Docker Compose, Valkey-Limiter und eigenem Secret Key.
Geprüft am 30.09.2026 · für searxng latest (2026.9.29)
WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Jede Google-Suchanfrage fließt in ein Nutzerprofil ein: Interessen, Standort, Tagesrhythmus. SearXNG ist eine selbst gehostete Metasuchmaschine (AGPL-3.0), die Ihre Anfragen über mehr als 70 Suchmaschinen gleichzeitig stellt. Google, Bing, DuckDuckGo und Co. sehen nur die IP-Adresse Ihres NAS, kein Cookie, kein Nutzerprofil, keinen Suchverlauf. Zusätzlich dient es als JSON-Suchquelle für lokale KI-Werkzeuge wie Open WebUI oder n8n.
Voraussetzungen
- Synology NAS mit x86_64-Prozessor (Intel/AMD) und DSM 7.2 oder höher
- Container Manager aus dem Paket-Zentrum installiert
- Mindestens 1 GB freier RAM und 500 MB freier Speicherplatz auf
/volume1 - Stabile Internetverbindung (SearXNG leitet Anfragen in Echtzeit weiter)
- Port 5147 am NAS frei (oder ein anderer gewählter Port)
- File Station zum Anlegen der Verzeichnisse
- SSH-Zugang zum NAS, optional für die Erzeugung des Secret Keys (Anleitung: SSH auf dem Synology NAS aktivieren und verbinden)
Schritt 1: Verzeichnisstruktur in der File Station anlegen
Öffnen Sie die File Station und wechseln Sie nach /volume1/docker. Legen Sie dort den Ordner searxng an und darin die Unterordner config und data:
/volume1/docker/searxng/
├── config/ ← settings.yml und limiter.toml
└── data/ ← persistenter Cache (Favicon-DB u. a.)
SearXNG benötigt zwei getrennte Volumes: /etc/searxng (auf config/) enthält die Konfiguration, /var/cache/searxng (auf data/) den technischen Cache. Ohne den zweiten Mount gehen die Favicon-Daten bei jedem Neustart verloren. Hinweise zu Berechtigungen: Docker-Ordner und Berechtigungen auf dem Synology NAS.
Verifizieren: In der File Station sind die Pfade /volume1/docker/searxng/config und /volume1/docker/searxng/data sichtbar. Beide Ordner existieren und sind leer.
Schritt 2: Secret Key generieren
Der Schlüssel für Sitzungen und CSRF-Schutz ist Pflicht. Bleibt der Standardwert ultrasecretkey stehen, bricht SearXNG den Start mit der Meldung server.secret_key is not changed ab. Erzeugen Sie per SSH eine zufällige Zeichenkette mit 64 Hex-Zeichen:
openssl rand -hex 32
Beispielausgabe (Ihr Wert weicht ab):
a3f8c2d1e4b5a6f7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1
Kopieren Sie die Ausgabe vollständig, Sie tragen sie in Schritt 4 in die compose.yaml ein. Ohne SSH-Zugang können Sie einen lokalen Generator verwenden (z. B. in der Browser-Konsole mit crypto.getRandomValues), solange Sie den Wert nirgendwo sonst speichern oder weitergeben.
Verifizieren: Die Zeichenkette hat genau 64 hexadezimale Zeichen (0–9, a–f). Ist sie kürzer oder enthält sie andere Zeichen, wiederholen Sie den Befehl.
Schritt 3: settings.yml anlegen
Erstellen Sie in /volume1/docker/searxng/config/ die Datei settings.yml. Mit der Zeile use_default_settings: true übernimmt SearXNG alle Standardwerte und ändert nur die Einträge, die Sie in der Datei setzen:
use_default_settings: true
general:
debug: false
instance_name: "Mein SearXNG"
search:
safe_search: 0
autocomplete: "duckduckgo"
formats:
- html
- json
server:
limiter: true
image_proxy: true
ui:
default_locale: "de"
default_theme: simple
Der Eintrag formats: [html, json] ist nötig, wenn Sie SearXNG später als Suchquelle für lokale KI-Werkzeuge (Open WebUI, n8n) nutzen, ohne ihn liefert die JSON-API einen Fehler. limiter: true aktiviert den Bot-Schutz über Valkey. Die eingebauten Plugins (Rechner, Hash, Einheitenumrechnung u. a.) sind ohne weiteren Eintrag aktiv. Der früher übliche Abschnitt enabled_plugins: existiert nicht mehr, Plugins werden heute im Abschnitt plugins: mit ihrem Klassennamen registriert.
Verifizieren: Die Datei /volume1/docker/searxng/config/settings.yml existiert und ist nicht leer. Öffnen Sie sie in der File Station per Doppelklick und prüfen Sie, dass die Einrückungen erhalten sind.
Schritt 4: compose.yaml erstellen und Projekt anlegen
Öffnen Sie den Container Manager, wählen Sie „Projekt“ und legen Sie ein neues Projekt an. Das Vorgehen beschreibt die Anleitung Container Manager: Docker-Compose-Projekt anlegen, starten und aktualisieren. Wählen Sie als Projektpfad /volume1/docker/searxng und tragen Sie folgende compose.yaml ein:
services:
searxng:
container_name: searxng
image: docker.io/searxng/searxng:latest
ports:
- "5147:8080/tcp"
volumes:
- /volume1/docker/searxng/config:/etc/searxng
- /volume1/docker/searxng/data:/var/cache/searxng
environment:
- SEARXNG_BASE_URL=http://NAS-IP:5147/
- SEARXNG_SECRET=HIER_IHREN_OPENSSL_HEX32_WERT_EINTRAGEN
- FORCE_OWNERSHIP=true
- SEARXNG_VALKEY_URL=valkey://valkey:6379/0
depends_on:
valkey:
condition: service_healthy
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--spider", "--quiet", "http://localhost:8080/healthz"]
interval: 30s
timeout: 5s
retries: 3
start_period: 15s
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
valkey:
container_name: searxng-valkey
image: docker.io/valkey/valkey:8.0-alpine
volumes:
- valkey-data:/data
command: valkey-server --save 30 1 --loglevel warning
restart: unless-stopped
healthcheck:
test: ["CMD", "valkey-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
start_period: 5s
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
volumes:
valkey-data:
Ersetzen Sie NAS-IP durch die IP-Adresse Ihres NAS (z. B. 192.168.1.100) und tragen Sie den Secret Key aus Schritt 2 ein. Die Variable heißt SEARXNG_SECRET, einen anderen Namen ignoriert SearXNG. Wichtig: SEARXNG_BASE_URL muss exakt der URL entsprechen, unter der Sie SearXNG im Browser aufrufen, sonst funktionieren Weiterleitungen und die OpenSearch-Einbindung nicht. FORCE_OWNERSHIP=true sorgt dafür, dass der Container beim Start die Besitzrechte in den Volumes auf seinen Benutzer setzt, was auf Synology-Systemen häufig nötig ist.
Warum Valkey statt Redis?
Valkey ist ein Redis-kompatibler Open-Source-Fork, der seit 2024 weiterentwickelt wird, und der Speicher, den SearXNG für den Limiter voraussetzt. Die offizielle Compose-Vorlage von SearXNG verwendet inzwischen valkey/valkey:9-alpine, beide Versionen funktionieren.
Eckdaten auf einen Blick
| Parameter | Wert |
|---|---|
| Image (primär) | docker.io/searxng/searxng:latest |
| Image (Alternative) | ghcr.io/searxng/searxng:latest |
| Image-Größe (amd64) | ca. 92 MB komprimiert |
| Architektur | linux/amd64, linux/arm64, linux/arm/v7 |
| Valkey-Image | docker.io/valkey/valkey:8.0-alpine |
| Externer Port | 5147 (Host) → 8080 (Container) |
| Config-Volume | /volume1/docker/searxng/config:/etc/searxng |
| Cache-Volume | /volume1/docker/searxng/data:/var/cache/searxng |
| Valkey-Volume | valkey-data:/data (named) |
| Lizenz | AGPL-3.0 |
Verifizieren: Starten Sie das Projekt im Container Manager. Nach etwa 20 bis 30 Sekunden zeigen beide Container den Status Aktiv. Valkey wird zuerst als „healthy“ gemeldet, danach startet SearXNG. Bleibt SearXNG im Status „wird gestartet“, prüfen Sie die Logs unter Container Manager → Container → Protokoll.
Schritt 5: Firewall-Regel für Port 5147 anlegen
Damit SearXNG im Heimnetz erreichbar ist, muss die DSM-Firewall Port 5147 freigeben. Öffnen Sie Systemsteuerung → Sicherheit → Firewall und legen Sie eine Regel für TCP-Port 5147 an. Details beschreibt DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben.
Beschränken Sie die Regel auf Ihr lokales Subnetz (z. B. 192.168.1.0/24). SearXNG hat keine eingebaute Anmeldung. Für den Zugriff aus dem Internet gehört ein Reverse Proxy mit Basic Auth davor, etwa der Nginx Proxy Manager auf der Synology.
Verifizieren: Rufen Sie im Heimnetz http://NAS-IP:5147/ auf. Die SearXNG-Startseite mit Suchfeld erscheint. Meldet der Browser „Verbindung abgelehnt“, ist die Firewall-Regel nicht aktiv oder der Container läuft noch nicht fehlerfrei.
Schritt 6: Ersten Suchtest durchführen und Engines prüfen
Geben Sie auf http://NAS-IP:5147/ einen Suchbegriff ein, z. B. „Synology NAS“. Ergebnisse aus mehreren Quellen erscheinen nach wenigen Sekunden. Über das Zahnrad oben rechts und Einstellungen → Suchmaschinen sehen Sie, welche Engines aktiv sind.
Google und Bing blockieren neue Instanzen gelegentlich vorübergehend (HTTP 429 Too Many Requests). Liefern einzelne Engines nichts, aktivieren Sie Alternativen wie DuckDuckGo, Brave Search oder Startpage.
Verifizieren: Die Ergebnisseite zeigt mindestens 5 Treffer, die Quellenangaben unter den Treffern nennen die liefernde Engine. Bleibt die Liste leer, prüfen Sie die Container-Logs auf Valkey-Verbindungsfehler (Connection refused valkey:6379).
Schritt 7: SearXNG als Browser-Standardsuche einbinden
SearXNG stellt eine OpenSearch-Beschreibung bereit, über die Browser die Suchmaschine übernehmen.
Firefox
Rufen Sie http://NAS-IP:5147/ auf. Klicken Sie in der Adressleiste auf das Lupensymbol, Firefox bietet „SearXNG hinzufügen“ an. Bestätigen Sie und setzen Sie SearXNG unter Einstellungen → Suche → Standardsuchmaschine als Standard.
Chrome, Edge und andere Chromium-Browser
Öffnen Sie Einstellungen → Suchmaschine → Suchmaschinen verwalten → Hinzufügen und tragen Sie ein:
Name: SearXNG
Kürzel: s (oder beliebig)
URL: http://NAS-IP:5147/search?q=%s
Setzen Sie den Eintrag als Standard. Suchanfragen aus der Adressleiste gehen dann direkt an Ihr NAS. Betreiben Sie das Homepage-Dashboard auf dem Synology NAS, können Sie dort ein Such-Widget mit derselben URL einrichten.
Verifizieren: Tippen Sie in der Adressleiste einen Begriff ein und bestätigen Sie mit Enter. Die SearXNG-Ergebnisseite öffnet sich mit Ihrem Suchbegriff.
Schritt 8: SearXNG aktuell halten
Mit dem Tag :latest genügt ein erneuter Image-Pull. Stoppen Sie im Container Manager das Projekt „searxng“, aktualisieren Sie das Image und starten Sie das Projekt neu. Alternativ per SSH:
cd /volume1/docker/searxng
docker compose pull
docker compose up -d
Ein wöchentliches Update reicht aus. settings.yml und die Volume-Daten bleiben erhalten, nur das Image wird ersetzt. Für feste Versionen tragen Sie statt :latest ein datiertes Tag aus Docker Hub ein (Format z. B. 2026.3.25-541c6c3cb).
Verifizieren: Nach dem Neustart zeigen beide Container wieder „Aktiv“, ein Suchtest auf http://NAS-IP:5147/ liefert Ergebnisse.
Troubleshooting / Typische Fehler
- Container beendet sich sofort, Log zeigt „server.secret_key is not changed“: Der Secret Key kommt nicht an. Prüfen Sie, dass die Variable exakt
SEARXNG_SECRETheißt und einen eigenen Wert enthält. - „Permission denied“ beim Start oder
settings.ymlnicht lesbar: Der Container-Benutzer (UID 977) hat keine Rechte auf/volume1/docker/searxng/config. Lassen SieFORCE_OWNERSHIP=truegesetzt oder übergeben Sie die Ordner per SSH mitsudo chown -R 977:977 /volume1/docker/searxng/config /volume1/docker/searxng/data. Vermeiden Siechmod 777. - Valkey-Verbindungsfehler „Connection refused valkey:6379“:
SEARXNG_VALKEY_URLzeigt nicht auf den Service-Namen. Richtig istvalkey://valkey:6379/0. Mitlimiter: truemuss Valkey erreichbar sein. - Weiterleitungen funktionieren nicht, OpenSearch zeigt falsche URL:
SEARXNG_BASE_URLweicht von der tatsächlichen Adresse ab. Prüfen Sie Protokoll (http/https), IP und Port und starten Sie den Container danach neu. - „Too Many Requests“ beim Image-Pull: Wechseln Sie auf die GitHub Container Registry mit
ghcr.io/searxng/searxng:latest. - Alle Engines liefern keine Ergebnisse: Google und Bing sperren neue IP-Adressen häufig vorübergehend. Aktivieren Sie unter Einstellungen → Suchmaschinen DuckDuckGo, Brave Search oder Startpage. Die Sperre endet meist nach einigen Stunden.
- Port 5147 belegt: Ändern Sie die Zuordnung in der
compose.yamlauf einen freien Port (z. B."5148:8080/tcp") und passen SieSEARXNG_BASE_URLan. - Eigene Einstellungen wirken nicht: Die Zeile
use_default_settings: truefehlt oder steht nicht ganz oben, oder der Volume-Pfad stimmt nicht. - Vorlage aus dem archivierten Repository searxng-docker: Das Repository ist seit 28. März 2026 archiviert. Verwenden Sie die hier gezeigte Konfiguration oder die aktuelle Compose-Vorlage aus der offiziellen Dokumentation.
Häufige Fragen
Muss ich Valkey zwingend betreiben?
Nein. Valkey ist nur mit limiter: true erforderlich. Für ein reines Heimnetz ohne Bot-Schutz entfernen Sie den Valkey-Service und SEARXNG_VALKEY_URL aus der compose.yaml und setzen in der settings.yml limiter: false. Das vereinfacht das Setup, verzichtet aber auf Rate-Limiting.
Wie sichere ich den Zugriff ab?
SearXNG hat keine Benutzeranmeldung. Beschränken Sie die Firewall-Regel auf das lokale Subnetz und richten Sie keine Portweiterleitung im Router ein. Für externen Zugriff schalten Sie einen Reverse Proxy mit Basic Auth vor. AdGuard Home auf der Synology ergänzt das Setup und blockiert Tracker bereits auf DNS-Ebene.
Kann ich SearXNG als Suchquelle für lokale KI nutzen?
Ja, über die JSON-API: http://NAS-IP:5147/search?q=Suchbegriff&format=json. In Open WebUI tragen Sie die URL in den Einstellungen zur Websuche ein. Voraussetzung ist formats: [html, json] in der settings.yml (Schritt 3).
Was passiert mit meinen Suchdaten?
SearXNG speichert keine Suchanfragen dauerhaft. Das Volume /var/cache/searxng enthält nur technischen Cache wie Favicons, Valkey nur kurzlebige Zähler für das Rate-Limiting. Cookies zur Nachverfolgung, Analytics oder Nutzerprofile entstehen nicht.
Wie aktualisiere ich SearXNG auf die neueste Version?
Wie in Schritt 8 beschrieben: Image neu ziehen und das Projekt neu starten. Die Konfiguration in den Volumes bleibt erhalten.
Welche Suchmaschinen sind standardmäßig aktiv?
Die Standardkonfiguration aktiviert mehrere Dutzend Engines, darunter Google, Bing, DuckDuckGo, Wikipedia und Startpage. Unter Einstellungen → Suchmaschinen schalten Sie einzelne Engines für Ihren Browser um. Dauerhaft für alle Nutzer legen Sie das in der settings.yml unter engines: fest.
Fazit
SearXNG auf dem Synology NAS ist eine wirksame Datenschutzmaßnahme für Privathaushalte und kleine Unternehmen: Sie nutzen die Ergebnisse großer Suchmaschinen, ohne ihnen ein Nutzerprofil zu liefern. Das Setup mit Valkey, eigenem Secret Key und schlanker settings.yml folgt der aktuellen offiziellen Dokumentation. Als JSON-Suchquelle für lokale KI-Werkzeuge bleibt auch die Websuche Ihrer KI im eigenen Netz.
Weiterführende Anleitungen und Quellen
- AdGuard Home auf der Synology mit Docker: netzwerkweiter Werbeblocker und DNS für die FritzBox: Tracker auf DNS-Ebene blockieren
- Homepage auf dem Synology NAS installieren: Dashboard für alle Self-Hosting-Dienste: SearXNG als Such-Widget einbinden
- Container Manager: Docker-Compose-Projekt anlegen, starten und aktualisieren
- DSM-Firewall auf dem Synology NAS: Ports für Docker-Container freigeben
Quellen: SearXNG Offizielle Dokumentation – Container-Installation · SearXNG Dokumentation – Plugins · SearXNG GitHub Repository · Docker Hub: searxng/searxng


