SearXNG: die eigene Suchmaschine ohne Tracking auf einem VPS
Eine herkömmliche Suchmaschine kann eine Anfrage mit der IP-Adresse, Cookies und dem Aktivitätsverlauf verknüpfen. SearXNG ändert den Weg: Der Browser greift auf Ihre Instanz zu, diese fragt mehrere externe Suchmaschinen ab und führt deren Antworten auf einer Seite zusammen.
Externe Quellen sehen die Adresse des SearXNG-Servers statt der Cookies des Benutzers. Der Dienst selbst erstellt kein Werbeprofil. Vollständige Anonymität bietet er jedoch nicht: Der Betreiber einer öffentlichen Instanz kann technisch Protokolle führen, und nach dem Öffnen eines Links interagiert die Zielwebsite wieder direkt mit dem Browser.
Wir betrachten die Möglichkeiten von SearXNG und installieren eine eigene Instanz mit HTTPS und Passwortschutz auf einem VPS.
Was SearXNG ist und wie es funktioniert
SearXNG ist eine kostenlose Open-Source-Metasuchmaschine. Sie besitzt keinen eigenen Website-Index: Der Dienst bezieht Ergebnisse von konfigurierten Suchmaschinen und spezialisierten Quellen, vereinheitlicht sie und zeigt sie in einer gemeinsamen Oberfläche an.
Browser → Ihr SearXNG → Suchmaschinen
↓
zusammengeführte ErgebnisseBei jeder Anfrage führt SearXNG folgende Schritte aus:
- Es bestimmt die Suchkategorie: Web, Bilder, Nachrichten, Videos oder eine andere Kategorie.
- Es fragt die ausgewählten Quellen im Namen des Servers ab.
- Es übermittelt ihnen keine Cookies des Benutzers und verwendet für ausgehende Anfragen ein zufällig gewähltes Browserprofil.
- Es führt die Antworten in einer Ergebnisliste zusammen.
Die Geschwindigkeit hängt von externen Systemen ab: Sie können langsam antworten, ein CAPTCHA anzeigen oder die IP-Adresse sperren. SearXNG ist eine kontrollierbare Zwischenschicht und kein autonomer Suchindex.
Warum SearXNG interessanter ist als eine einzelne Suchmaschine
Verschiedene Quellen in einer Ergebnisliste
Allgemeine Suchmaschinen lassen sich mit spezialisierten Quellen kombinieren: Enzyklopädien, Karten, wissenschaftliche Publikationen, Repositorys, Nachrichten oder Bildkataloge. Das hilft, wenn eine gewöhnliche Ergebnisliste mit SEO-Seiten überladen ist oder Nischenmaterial nur schlecht findet.
Zum Zeitpunkt der Erstellung dieses Artikels führte die Dokumentation 272 Integrationen auf, von denen 83 standardmäßig aktiviert waren. Das bedeutet nicht, dass alle gleich stabil funktionieren.
Die Auswahl hängt von der Konfiguration ab. Einige wenige stabile Quellen arbeiten normalerweise schneller, als wenn alle verfügbaren Quellen gleichzeitig aktiviert werden.
Schnellbefehle
Mit Kürzeln können Sie vorübergehend eine Suchmaschine, Kategorie oder Sprache auswählen:
!wp docker compose — in Wikipedia suchen
!images Polarlicht — nach Bildern suchen
:de !wp Proxyserver — auf Deutsch in Wikipedia suchenDer Befehl !! leitet den Benutzer direkt zu einer externen Suchmaschine weiter. In diesem Modus greift der Schutz von SearXNG nicht mehr.
Suche für den Browser und eigene Werkzeuge
SearXNG unterstützt OpenSearch und kann deshalb als Standardsuchmaschine im Browser eingerichtet werden. Zusätzlich steht eine HTTP-API mit Antworten im JSON-, CSV- oder RSS-Format zur Verfügung, sofern der Administrator die benötigten Formate freigegeben hat.
Eine Instanz kann als Such-Backend für ein internes Dashboard, einen Bot, ein Forschungsskript oder einen lokalen KI-Assistenten dienen. Die API sollte erst nach der Einrichtung von Authentifizierung und Zugriffslimits geöffnet werden.
Wie privat SearXNG ist
| Was SearXNG tut | Was SearXNG nicht tut |
|---|---|
| Übermittelt keine Browser-Cookies an externe Suchmaschinen | Gewährleistet keine vollständige Anonymität |
| Verbirgt die IP des Benutzers hinter der IP des Servers | Schützt nicht mehr, nachdem eine gefundene Website geöffnet wurde |
| Entfernt Werbung von Drittanbietern und einen Teil der Tracking-Parameter | Garantiert nicht, dass der Betreiber eines fremden Servers keine Protokolle führt |
| Kann Bilder über einen Proxy laden | Ersetzt weder VPN noch Tor oder Browser-Schutzmaßnahmen |
Eine öffentliche Instanz eignet sich zum Ausprobieren, doch ihrem Administrator muss vertraut werden, und eine gemeinsam genutzte IP-Adresse wird häufiger eingeschränkt.
Ein eigener Server gibt Ihnen Kontrolle über Protokolle, Quellen und Zugriffsrechte, macht den Browser aber nicht anonym.
Öffentliche Instanz, Heimserver oder VPS
| Variante | Vorteile | Einschränkungen |
|---|---|---|
| Öffentlich | Es muss nichts installiert werden | Vertrauen in den Betreiber, Überlastung, CAPTCHA |
| Heimserver | Volle Kontrolle ohne VPS-Miete | Das Gerät muss ständig laufen; externer Zugriff ist schwieriger einzurichten |
| Eigener VPS | Betrieb rund um die Uhr, Domain, HTTPS, Zugriff von verschiedenen Geräten | Container müssen aktualisiert und die Sicherheit überwacht werden |
Ein eigener SearXNG-Server ist für Familien, Teams, Entwickler oder lokale KI-Werkzeuge nützlich. Für gelegentliche Suchanfragen ist eine öffentliche Instanz einfacher.
Welchen VPS SearXNG benötigt
Die Last hängt von der Zahl der Benutzer, den Quellen und den parallelen Anfragen ab. Praktische Startkonfigurationen:
| Szenario | CPU | RAM | Speicher |
|---|---|---|---|
| Ein Benutzer | 1 vCPU | 1 GB | 10 GB |
| Familie oder kleines Team | 2 vCPU | 2 GB | 20 GB |
| API und zusätzliche Dienste | 2–4 vCPU | ab 4 GB | ab 30 GB |
Ein großer Datenträger ist nicht erforderlich. Wichtiger sind die Netzwerkqualität, eine feste IP-Adresse und RAM-Reserve.
Für dieses Szenario eignet sich ein Linux-VPS von tropic.host: Sie können mit einer kleinen Konfiguration beginnen und die Ressourcen erhöhen, sobald weitere Benutzer oder API-Zugriffe hinzukommen. Bei der Tarifwahl ist es sinnvoller, in RAM und Netzwerkqualität zu investieren, als für unnötig viel Speicherplatz zu bezahlen.
SearXNG mit Docker Compose auf einem VPS installieren
Im Beispiel verwenden wir Ubuntu 24.04 LTS, search.example.com, Valkey und Caddy. Richten Sie den DNS-Eintrag A auf den Server und öffnen Sie die Ports 80 und 443.
1. Docker installieren und ein Verzeichnis erstellen
sudo apt update
sudo apt install -y docker.io docker-compose-v2 openssl
sudo systemctl enable --now docker
sudo mkdir -p /opt/searxng/searxng
cd /opt/searxngErstellen Sie eine .env-Datei mit der Domain und einem zufälligen Geheimnis:
printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
"$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env2. docker-compose.yml erstellen
name: searxng
services:
searxng:
image: docker.io/searxng/searxng:latest
restart: unless-stopped
environment:
SEARXNG_BASE_URL: https://${SEARXNG_HOSTNAME}/
SEARXNG_SECRET: ${SEARXNG_SECRET}
SEARXNG_VALKEY_URL: valkey://valkey:6379/0
volumes:
- ./searxng:/etc/searxng:rw
- searxng-cache:/var/cache/searxng
depends_on: [valkey]
valkey:
image: docker.io/valkey/valkey:9-alpine
restart: unless-stopped
command: valkey-server --save 30 1 --loglevel warning
volumes:
- valkey-data:/data
caddy:
image: docker.io/caddy:2-alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
- "443:443/udp"
environment:
SEARXNG_HOSTNAME: ${SEARXNG_HOSTNAME}
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy-data:/data
- caddy-config:/config
depends_on: [searxng]
volumes:
searxng-cache:
valkey-data:
caddy-data:
caddy-config:3. SearXNG konfigurieren
Erstellen Sie searxng/settings.yml:
use_default_settings: true
general:
instance_name: "Private Search"
search:
safe_search: 1
autocomplete: ""
formats: [html]
server:
limiter: true
image_proxy: true
valkey:
url: valkey://valkey:6379/0Erstellen Sie searxng/limiter.toml:
[botdetection]
trusted_proxies = [
"127.0.0.0/8",
"::1",
"172.16.0.0/12",
]Der Limiter verringert das Risiko, dass Bots die Instanz überlasten und externe Suchmaschinen deren IP-Adresse schneller einschränken.
4. Passwort und HTTPS hinzufügen
Erzeugen Sie den Hash eines sicheren Passworts:
sudo docker run --rm caddy:2-alpine \
caddy hash-password --plaintext 'PASSWORT_ERSETZEN'Fügen Sie den erzeugten Hash in die Caddyfile ein:
{$SEARXNG_HOSTNAME} {
basic_auth {
searchuser HASH_HIER_EINFUEGEN
}
reverse_proxy searxng:8080 {
header_up X-Real-IP {remote_host}
}
}Caddy speichert den Hash und nicht das Klartextpasswort. Statt mit Basic Auth kann der Dienst auch innerhalb eines VPN abgeschottet werden.
5. Container starten
sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose psÖffnen Sie https://search.example.com. Caddy ruft automatisch ein TLS-Zertifikat ab; anschließend fragt der Browser nach dem Benutzernamen searchuser und dem Passwort. Die SearXNG-Protokolle sind mit folgendem Befehl verfügbar:
sudo docker compose logs -f searxngWas nach dem Start konfiguriert werden sollte
Lassen Sie nur nützliche Quellen aktiviert, wählen Sie Sprache und SafeSearch und fügen Sie SearXNG anschließend über OpenSearch zum Browser hinzu. Für ein Update genügen diese Befehle:
sudo docker compose pull
sudo docker compose up -dSichern Sie .env, Caddyfile und das Verzeichnis searxng. Aktivieren Sie die JSON-API nur bei Bedarf und lassen Sie sie nicht ohne Passwort und Begrenzung der Anfragehäufigkeit erreichbar.
Typische Fehler
| Fehler | Folge | Lösung |
|---|---|---|
| Die Instanz für alle öffnen | Bots erzeugen Last, die IP wird häufiger eingeschränkt | Passwort, VPN oder Single Sign-on verwenden |
| Zu viele Quellen aktivieren | Langsame Ergebnisse und Zeitüberschreitungen | Einige wenige stabile Suchmaschinen beibehalten |
| SearXNG als eigenen Index betrachten | Bei Ausfällen externer Systeme verschwinden einige Ergebnisse | Die Abhängigkeit von den Quellen berücksichtigen |
| Vollständige Anonymität erwarten | Die gefundene Website kann den Browser weiterhin verfolgen | Browser-Schutz, VPN oder Tor verwenden |
| Ohne HTTPS starten | Anfragen und Passwort werden unsicher übertragen | Einen Reverse Proxy mit TLS verwenden |
Fazit
SearXNG führt verschiedene Quellen in einer Oberfläche zusammen, reduziert Personalisierung und stellt Browsern, Skripten oder lokaler KI eine einheitliche Suche bereit. Zum Kennenlernen genügt eine öffentliche Instanz. Für die dauerhafte Nutzung ist ein eigener Server mit HTTPS, Authentifizierung, Limiter und einer kleinen Auswahl stabiler Quellen besser geeignet.
Zum Start reicht 1 GB RAM. Mehr Ressourcen werden sinnvoll, wenn die Benutzerzahl wächst, eine API angebunden wird oder zusätzliche Container laufen.
FAQ
Ist SearXNG vollständig anonym?
Nein. SearXNG verbirgt einen Teil der Daten vor externen Suchmaschinen, doch der Administrator der Instanz kann Protokolle führen. Nach dem Öffnen einer Website gelten deren eigene Tracking-Mechanismen.
Ist SearXNG besser als Google?
SearXNG löst eine andere Aufgabe. Google ist in der Regel schneller und personalisiert Ergebnisse stärker. SearXNG bietet mehr Kontrolle, kann Quellen kombinieren und hängt weniger vom Benutzerprofil ab.
Kann SearXNG ohne VPS verwendet werden?
Ja. Geeignet sind eine öffentliche Instanz, ein Heimcomputer, ein NAS oder ein Mini-Server. Ein VPS wird für den rund um die Uhr verfügbaren Zugriff aus jedem Netzwerk benötigt.
Wie viel Arbeitsspeicher wird benötigt?
Für einen Benutzer ist ein Start mit 1 GB sinnvoll. Für eine Familie, ein Team, eine API oder zusätzliche Container sind 2–4 GB besser geeignet.
Kann SearXNG mit einem Browser oder einer KI verbunden werden?
Ja. Ein Browser kann OpenSearch verwenden, Programme können auf die HTTP-API zugreifen. Der API-Zugriff sollte durch Authentifizierung und einen Limiter geschützt werden.
