Tropic Host

SearXNG: Was es ist und wie Sie Ihre eigene Suchmaschine auf einem VPS installieren

6 Min Lesezeit
Tropic
SearXNG: Was es ist und wie Sie Ihre eigene Suchmaschine auf einem VPS installieren

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 Ergebnisse

Bei jeder Anfrage führt SearXNG folgende Schritte aus:

  1. Es bestimmt die Suchkategorie: Web, Bilder, Nachrichten, Videos oder eine andere Kategorie.
  2. Es fragt die ausgewählten Quellen im Namen des Servers ab.
  3. Es übermittelt ihnen keine Cookies des Benutzers und verwendet für ausgehende Anfragen ein zufällig gewähltes Browserprofil.
  4. 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 suchen

Der 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 tutWas SearXNG nicht tut
Übermittelt keine Browser-Cookies an externe SuchmaschinenGewährleistet keine vollständige Anonymität
Verbirgt die IP des Benutzers hinter der IP des ServersSchützt nicht mehr, nachdem eine gefundene Website geöffnet wurde
Entfernt Werbung von Drittanbietern und einen Teil der Tracking-ParameterGarantiert nicht, dass der Betreiber eines fremden Servers keine Protokolle führt
Kann Bilder über einen Proxy ladenErsetzt 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

VarianteVorteileEinschränkungen
ÖffentlichEs muss nichts installiert werdenVertrauen in den Betreiber, Überlastung, CAPTCHA
HeimserverVolle Kontrolle ohne VPS-MieteDas Gerät muss ständig laufen; externer Zugriff ist schwieriger einzurichten
Eigener VPSBetrieb rund um die Uhr, Domain, HTTPS, Zugriff von verschiedenen GerätenContainer 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:

SzenarioCPURAMSpeicher
Ein Benutzer1 vCPU1 GB10 GB
Familie oder kleines Team2 vCPU2 GB20 GB
API und zusätzliche Dienste2–4 vCPUab 4 GBab 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/searxng

Erstellen 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 .env

2. 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/0

Erstellen 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 searxng

Was 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 -d

Sichern 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

FehlerFolgeLösung
Die Instanz für alle öffnenBots erzeugen Last, die IP wird häufiger eingeschränktPasswort, VPN oder Single Sign-on verwenden
Zu viele Quellen aktivierenLangsame Ergebnisse und ZeitüberschreitungenEinige wenige stabile Suchmaschinen beibehalten
SearXNG als eigenen Index betrachtenBei Ausfällen externer Systeme verschwinden einige ErgebnisseDie Abhängigkeit von den Quellen berücksichtigen
Vollständige Anonymität erwartenDie gefundene Website kann den Browser weiterhin verfolgenBrowser-Schutz, VPN oder Tor verwenden
Ohne HTTPS startenAnfragen und Passwort werden unsicher übertragenEinen 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.