Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Synology / NAS 11.09.2026 · 10 min Lesezeit

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

SearXNG: Privat suchen. Metasuche, Ohne Tracking, Eigener Server. Illustration mit Laptop und NAS.

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

ParameterWert
Image (primär)docker.io/searxng/searxng:latest
Image (Alternative)ghcr.io/searxng/searxng:latest
Image-Größe (amd64)ca. 92 MB komprimiert
Architekturlinux/amd64, linux/arm64, linux/arm/v7
Valkey-Imagedocker.io/valkey/valkey:8.0-alpine
Externer Port5147 (Host) → 8080 (Container)
Config-Volume/volume1/docker/searxng/config:/etc/searxng
Cache-Volume/volume1/docker/searxng/data:/var/cache/searxng
Valkey-Volumevalkey-data:/data (named)
LizenzAGPL-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_SECRET heißt und einen eigenen Wert enthält.
  • „Permission denied“ beim Start oder settings.yml nicht lesbar: Der Container-Benutzer (UID 977) hat keine Rechte auf /volume1/docker/searxng/config. Lassen Sie FORCE_OWNERSHIP=true gesetzt oder übergeben Sie die Ordner per SSH mit sudo chown -R 977:977 /volume1/docker/searxng/config /volume1/docker/searxng/data. Vermeiden Sie chmod 777.
  • Valkey-Verbindungsfehler „Connection refused valkey:6379“: SEARXNG_VALKEY_URL zeigt nicht auf den Service-Namen. Richtig ist valkey://valkey:6379/0. Mit limiter: true muss Valkey erreichbar sein.
  • Weiterleitungen funktionieren nicht, OpenSearch zeigt falsche URL: SEARXNG_BASE_URL weicht 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.yaml auf einen freien Port (z. B. "5148:8080/tcp") und passen Sie SEARXNG_BASE_URL an.
  • Eigene Einstellungen wirken nicht: Die Zeile use_default_settings: true fehlt 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

Quellen: SearXNG Offizielle Dokumentation – Container-Installation · SearXNG Dokumentation – Plugins · SearXNG GitHub Repository · Docker Hub: searxng/searxng