SearXNG mit Docker Compose: Private Suchmaschine lokal auf 127.0.0.1 starten
SearXNG ist eine selbst gehostete Metasuche, die Ergebnisse mehrerer Suchdienste zusammenzieht, ohne dich an einen einzelnen Anbieter zu ketten. Mit dem aktuellen offiziellen Compose-Weg steht die Weboberflaeche nach wenigen Minuten lokal auf http://127.0.0.1:8080, und du kannst den Erststart direkt mit curl, Logs und einer echten Testsuche pruefen.
Der wichtige Juni-2026-Punkt ist nicht nur das Projekt selbst, sondern der richtige Installationspfad: Die offizielle Doku empfiehlt inzwischen Compose-Instanzen direkt aus dem Hauptrepo, waehrend searxng-docker am 28. Maerz 2026 archiviert und fuer neue Installationen als ersetzt markiert wurde. Wenn du heute noch alte Blogposts kopierst, landest du schnell auf einem ueberholten Setup.
Was du am Ende hast
- SearXNG lokal unter
http://127.0.0.1:8080 - den offiziellen Upstream-Compose-Stack mit
coreundvalkey - einen pruefbaren Erststart ohne Reverse Proxy
- eine erste funktionierende Suche direkt aus dem Terminal
Voraussetzungen
- Docker Engine oder Docker Desktop
docker compose- ein freier lokaler Port
8080 - ein neuer Arbeitsordner
Kurz pruefen:
docker --version
docker compose version
1. Projektordner anlegen
Starte sauber in einem frischen Verzeichnis:
mkdir searxng-lab && cd searxng-lab
mkdir -p core-config
Das core-config-Verzeichnis ist wichtig, weil der offizielle Container dort seine Konfiguration einhaengt.
2. Offizielle Compose-Dateien holen
Ziehe die Vorlage direkt aus dem aktuellen Upstream-Repo:
curl -fsSLO https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml
curl -fsSLo .env https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
Genau dieser Weg passt zum heutigen Stand der Doku. Du vermeidest damit die haeufige Falle, alte searxng-docker-Snippets aus Drittseiten zu uebernehmen.
3. Lokale Bindung in .env setzen
Oeffne searxng-lab/.env und trage diese zwei Zeilen ein:
SEARXNG_HOST=127.0.0.1
SEARXNG_PORT=8080
Warum genau so:
127.0.0.1haelt die Instanz bewusst lokal8080ist der offizielle Default-Port der Vorlage- fuer einen ersten Test brauchst du keinen oeffentlichen Reverse Proxy
Wenn 8080 bei dir schon belegt ist, nimm stattdessen z. B. 18080 und verwende denselben Wert spaeter in curl und im Browser.
4. Stack starten
docker compose up -d
Die aktuelle Vorlage startet zwei Dienste:
coremit dem Imagesearxng/searxngvalkeyals zusaetzlichen Dienst fuer die Instanz
Beim ersten Start legt SearXNG settings.yml automatisch aus dem Template an, wenn die Datei im gemounteten Konfigurationsordner noch fehlt. Du musst fuer den Erststart also nicht zuerst manuell eine komplette Konfiguration schreiben.
5. Den Erststart sauber pruefen
Pruefe zuerst, ob beide Container laufen:
docker compose ps
Danach die letzten Logs des Hauptdienstes:
docker compose logs --tail=50 core
Und dann die HTTP-Antwort:
curl -I http://127.0.0.1:8080
Bei meinem verifizierten Test antwortete die Startseite mit HTTP/1.1 200 OK.
6. Erste echte Suche aus dem Terminal
Nur eine offene Startseite ist noch kein brauchbarer Test. Sinnvoller ist eine kleine Live-Abfrage:
curl -fsS 'http://127.0.0.1:8080/search?q=debian&categories=general' \
| rg '<article class="result' -m 3
Wenn rg bei dir nicht installiert ist, geht auch:
curl -fsS 'http://127.0.0.1:8080/search?q=debian&categories=general' \
| grep -m 3 '<article class="result'
Sobald hier Treffer auftauchen, ist der sichtbare Teil des Tutorials geschafft: Die lokale Suchoberflaeche laeuft, verarbeitet Anfragen und liefert Ergebnisse zurueck.
7. Welche Warnungen beim lokalen Start normal sein koennen
Im lokalen Direktbetrieb ohne Reverse Proxy koennen in den Logs Hinweise auftauchen, die beim Ersttest nicht sofort ein Defekt sind. In meinem Test waren darunter:
- eine Meldung zu fehlendem
limiter.toml - ein Hinweis, dass kein
X-Forwarded-ForoderX-Real-IPHeader gesetzt ist - einzelne inaktive oder temporaer rate-limitierte Such-Engines
Wichtig ist die Einordnung: Fuer einen lokalen Teststart auf 127.0.0.1 ist das nicht automatisch kritisch. Wenn du die Instanz spaeter oeffentlich machen willst, solltest du den Stack nicht einfach offen ins Netz haengen, sondern die offizielle Doku zu Reverse Proxy und Einstellungen nachziehen.
8. Was du spaeter noch anpassen kannst
Der schnelle Erststart reicht fuer das sichtbare Ergebnis. Danach sind diese drei Punkte meist die naechsten sinnvollen Schritte:
- eigene Such-Engines und Kategorien in
core-config/settings.ymlanpassen - Port oder Bind-Adresse in
.envaendern - Updates ueber
docker compose pullund anschliessenddocker compose up -deinspielen
Gerade der erste Punkt macht SearXNG im Alltag staerker als einen blossen Demo-Container: Du kannst die Instanz spaeter deutlich gezielter auf deinen Suchmix zuschneiden.
Fazit
SearXNG ist Ende Juni 2026 vor allem deshalb ein gutes Compose-Projekt, weil der Nutzen sofort sichtbar wird: offizielle Vorlage holen, lokal binden, Stack starten, echte Suche pruefen. Der entscheidende Praxisgewinn dieses Setups ist, dass du mit dem aktuellen Upstream-Pfad arbeitest und nicht mehr mit dem alten, inzwischen archivierten searxng-docker-Repo.