Überarbeitet am 8. September 2026.

Eine eigene Meta-Suchmaschine betreibe ich schon länger. Der ursprüngliche Artikel hier beschrieb allerdings noch das alte searx-docker-Projekt mit Morty, Filtron und docker-compose. Das ist heute überholt. Aus Searx wurde SearXNG, und auch der empfohlene Docker-Weg hat sich geändert.

In dieser Anleitung geht es bewusst nur um die Grundinstallation von SearXNG mit Docker Compose. Wie ich eine öffentlich erreichbare Instanz später mit Anubis gegen Bots absichere und die Suchanfragen über Gluetun/VPN ausleite, beschreibe ich separat in meinem Artikel SearXNG mit Anubis und Gluetun absichern.

Voraussetzungen

Docker Engine und das Compose-Plugin müssen bereits installiert sein. Falls nicht, findest du hier meine aktuelle Anleitung: Docker und Docker Compose unter Debian/Ubuntu installieren.

Wenn dir Begriffe wie Services, Volumes oder Netzwerke noch nichts sagen, hilft außerdem Docker Compose erklärt.

Aktuelle Compose-Vorlage von SearXNG holen

Die alte Repository-Struktur aus diesem Artikel wird nicht mehr empfohlen. Die aktuelle SearXNG-Dokumentation stellt die Compose-Vorlage direkt aus dem Hauptprojekt bereit.

mkdir -p ~/searxng/core-config
cd ~/searxng

curl -fsSL \
  -O https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \
  -O https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example

Danach erzeugen wir unsere eigene .env:

cp .env.example .env
nano .env

SearXNG nur lokal veröffentlichen

Wenn auf dem Server bereits Nginx als Reverse Proxy läuft, möchte ich SearXNG nicht zusätzlich direkt auf allen Interfaces veröffentlichen. Dafür kann in der .env gesetzt werden:

SEARXNG_HOST=127.0.0.1
SEARXNG_PORT=8080

Damit lauscht der veröffentlichte Port nur lokal auf dem Host. Der Reverse Proxy kann anschließend auf http://127.0.0.1:8080 zeigen.

Container starten

docker compose up -d

Der Status lässt sich so prüfen:

docker compose ps

Und die Logs des eigentlichen SearXNG-Dienstes:

docker compose logs -f core

Die aktuelle offizielle Vorlage startet neben SearXNG auch Valkey. Valkey wird unter anderem für Funktionen wie den Limiter benötigt und bleibt ausschließlich im Compose-Netz.

SearXNG konfigurieren

Die eigentliche SearXNG-Konfiguration liegt außerhalb des Containers unter:

~/searxng/core-config/settings.yml

Damit bleiben deine Einstellungen beim Austausch des Containers erhalten. Hier können beispielsweise Suchmaschinen, Sprache, Suchverhalten und der Limiter angepasst werden.

Wer die Instanz öffentlich bereitstellt, sollte den Limiter nicht einfach abschalten. Ich habe selbst erlebt, wie Bots eine öffentliche SearXNG-Instanz so stark beanspruchen können, dass Google, Brave, DuckDuckGo und andere Suchanbieter anschließend die Server-IP mit CAPTCHAs, 429-Fehlern oder Timeouts beantworten.

Updates durchführen

Für normale Image-Updates:

docker compose pull
docker compose up -d

Die SearXNG-Dokumentation empfiehlt zusätzlich, bei Änderungen die aktuelle Compose-Vorlage und .env.example zu prüfen. Gerade bei einem länger laufenden Server würde ich neue Templates nicht blind überschreiben, sondern vorher mit der eigenen Konfiguration vergleichen.

Alte Searx-/SearXNG-Docker-Installationen

Falls du noch eine Installation aus dem früheren searx-docker- oder searxng-docker-Repository betreibst: Diese alten Wege sind inzwischen abgelöst. Das frühere searxng-docker-Repository wurde im März 2026 archiviert. SearXNG dokumentiert einen eigenen Migrationsweg in die aktuelle Compose-Struktur.

Wie geht es danach weiter?

Für eine private Instanz im lokalen Netz reicht das als Basis schon ziemlich weit. Bei einer öffentlich erreichbaren Suche würde ich allerdings noch eine Schutzschicht davor setzen. Genau deswegen läuft bei mir inzwischen:

Internet → Nginx → Anubis → SearXNG → Gluetun/VPN → Suchmaschinen

Den kompletten Erfahrungsbericht dazu findest du hier: Meine SearXNG-Instanz wurde von Bots zerlegt – mit Anubis und Gluetun zurück zur funktionierenden Suche.

Quellen: SearXNG-Dokumentation: Container-Installation und die aktuelle offizielle Compose-Vorlage aus dem SearXNG-Projekt.