Perplexity-Alternative selbst hosten: SearXNG, Ollama & Open WebUI auf Ubuntu 24.04
Erfahren Sie, wie Sie mit Open-Source-Tools und einem Ubuntu 24.04-Server eine leistungsstarke, private KI-Suchmaschine im Stil von Perplexity aufsetzen, die Ihre Daten schützt.

🚀 Einführung: Warum überhaupt eine eigene Perplexity-Alternative selbst hosten?
In einer Zeit, in der private Daten oft die "Währung" im digitalen Ökosystem sind, wächst der Wunsch nach Datenschutz und digitaler Souveränität. Dienste wie Perplexity AI bieten zwar beeindruckende konversationelle Suchfunktionen, aber sie basieren auf proprietären Systemen und verarbeiten Ihre Anfragen auf externen Servern. Für viele stellt sich die Frage: Gibt es eine Möglichkeit, ähnliche intelligente Suchfunktionen zu nutzen, ohne die Kontrolle über die eigenen Daten abzugeben?
Die Antwort lautet: Ja, absolut! Mit einer Kombination aus Open-Source-Tools wie SearXNG, Ollama und Open WebUI können Sie auf Ihrem eigenen Ubuntu 24.04 Server eine leistungsstarke und vor allem private Perplexity-Alternative selbst hosten. Diese Anleitung begleitet Sie Schritt für Schritt durch den Prozess, um Ihre persönliche, datenschutzfreundliche KI-gestützte Suchumgebung zu realisieren. Wir werden dabei nicht nur die Installation der einzelnen Komponenten behandeln, sondern auch auf gängige Fallstricke eingehen und Lösungen präsentieren. Machen Sie sich bereit, die Kontrolle über Ihre Informationsbeschaffung zurückzugewinnen und eine Infrastruktur aufzubauen, die genau auf Ihre Bedürfnisse zugeschnitten ist.
Bevor Sie starten: Was Sie benötigen und wissen sollten
Bevor wir in die technischen Details eintauchen, ist es wichtig, die Voraussetzungen zu klären und einige Vorabüberlegungen anzustellen. Dieses Projekt erfordert grundlegende Linux-Kenntnisse und den Zugriff auf einen Server.
- Ein physischer Server oder eine virtuelle Maschine mit Ubuntu 24.04 LTS (minimal 8 GB RAM, 4 vCPUs empfohlen). Für Ollama und performante Modelle sind GPUs stark empfohlen, aber CPU-Modelle sind auch möglich.
- SSH-Zugang als Benutzer mit
sudo-Rechten. - Grundlegende Kenntnisse der Linux-Befehlszeile.
- Eine stabile Internetverbindung.
- Optional: Eine Domain und DNS-Konfiguration, falls Sie den Dienst über das Internet verfügbar machen möchten (zusätzliche Sicherheitsmaßnahmen erforderlich!).
- Festplattenplatz: Abhängig von den verwendeten Large Language Models (LLMs) können dies schnell mehrere Dutzend bis Hunderte von Gigabytes werden.
⚠️ Watch out
Stellen Sie sicher, dass Ihr Ubuntu-System auf dem neuesten Stand ist (sudo apt update && sudo apt upgrade -y), bevor Sie mit der Installation beginnen. Veraltete Pakete können zu Kompatibilitätsproblemen führen.
🔍 Step 1: SearXNG als Metasuchmaschine einrichten – Ihre private Suchbasis

SearXNG ist eine freie Metasuchmaschine, die Ergebnisse von über 70 Suchdiensten sammelt, ohne Ihre Privatsphäre zu verletzen. Es ist die perfekte Basis, um eine datenschutzfreundliche Suchmaschine zu etablieren.
Vorbereitung und Installation von SearXNG
Wir werden SearXNG mittels Docker Compose installieren, was die Verwaltung erheblich vereinfacht.
- Aktualisieren Sie Ihr System:
sudo apt update sudo apt upgrade -y - Installieren Sie
dockerunddocker-compose:sudo apt install docker.io docker-compose -y sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker $USER # Abmelden und neu anmelden, damit die Gruppe aktiv wird - Erstellen Sie ein Verzeichnis für SearXNG und wechseln Sie hinein:
mkdir -p ~/searxng cd ~/searxng - Erstellen Sie die
docker-compose.yml-Datei:
Fügen Sie den folgenden Inhalt ein:nano docker-compose.ymlversion: '3.8' services: searxng: image: searxng/searxng:latest container_name: searxng restart: unless-stopped ports: - "8080:8080" environment: - SEARXNG_BASE_URL=http://localhost:8080/ volumes: - ./searxng-data:/config - Und starten Sie SearXNG:
docker-compose up -d
Common mistake: Vergessen Sie nicht, sich nach dem Hinzufügen des Benutzers zur Docker-Gruppe usermod -aG docker $USER ab- und wieder anzumelden oder die Sitzung neu zu starten. Andernfalls erhalten Sie 'Permission denied' Fehler beim Ausführen von Docker-Befehlen ohne sudo.
Sie sollten nun SearXNG unter http://Ihre-Server-IP:8080 erreichen können.
🧠 Step 2: Ollama für lokale KI-Modelle installieren – Das Herz Ihrer KI-Alternative
Ollama ermöglicht es Ihnen, Large Language Models (LLMs) lokal auszuführen. Dies ist entscheidend für den Datenschutz, da keine Daten an externe KI-Anbieter gesendet werden.
Ollama auf Ubuntu 24.04 installieren
- Laden Sie das Ollama-Installationsskript herunter und führen Sie es aus:
Dieses Skript installiert Ollama als Systemdienst.curl -fsSL https://ollama.com/install.sh | sh - Überprüfen Sie den Status des Dienstes:
Es sollte als 'active (running)' angezeigt werden.systemctl status ollama
Erste Modelle herunterladen und testen
Ollama unterstützt eine Vielzahl von Modellen. Für den Anfang empfehlen wir ein leichtgewichtiges, aber fähiges Modell wie llama2 oder mistral.
- Laden Sie ein Modell herunter (hier
llama2als Beispiel):
Dieser Vorgang kann je nach Internetgeschwindigkeit und Modellgröße einige Zeit in Anspruch nehmen.ollama pull llama2 - Testen Sie das Modell direkt über die Befehlszeile:
Sie sollten eine Antwort vom lokalen LLM erhalten.ollama run llama2 "Was ist die Hauptstadt von Frankreich?"
Common mistake: Unzureichender RAM oder VRAM (Grafikspeicher). Große LLMs benötigen viel Speicher. Wenn Ihr System nicht genug hat, kann Ollama langsam laufen oder fehlschlagen. Überprüfen Sie vorab die Anforderungen des gewählten Modells auf der Ollama-Website.
💡 Tip Um die Leistung von Ollama zu maximieren, stellen Sie sicher, dass Ihre GPU-Treiber korrekt installiert sind, falls Ihr Server eine kompatible NVIDIA- oder AMD-GPU besitzt. Ollama nutzt automatisch CUDA/ROCm, wenn verfügbar.
🌐 Step 3: Open WebUI für eine intuitive Benutzeroberfläche – Ihr Perplexity-Interface
Open WebUI (ehemals ollama-webui) ist eine moderne, responsive Schnittstelle, die es Ihnen ermöglicht, mit Ihren lokal gehosteten Ollama-Modellen über einen Browser zu interagieren. Es bietet eine Chat-ähnliche Oberfläche, die an Perplexity erinnert.
Installation von Open WebUI mit Docker
Wir nutzen erneut Docker für eine einfache Installation und Verwaltung.
-
Erstellen Sie ein Verzeichnis für Open WebUI und wechseln Sie hinein:
mkdir -p ~/open-webui cd ~/open-webui -
Erstellen Sie die
docker-compose.yml-Datei:nano docker-compose.ymlFügen Sie den folgenden Inhalt ein. Beachten Sie, dass wir auf den Ollama-Dienst verlinken, der auf dem Host-System läuft.
version: '3.8' services: open-webui: image: ghcr.io/open-webui/open-webui:main container_name: open-webui restart: unless-stopped ports: - "8081:8080" # Hier nehmen wir Port 8081, um Konflikte mit SearXNG zu vermeiden environment: - OLLAMA_API_BASE_URL=http://host.docker.internal:11434 # Für Docker auf Linux/macOS volumes: - ./open-webui-data:/app/backend/data depends_on: - ollama # Obwohl Ollama auf dem Host läuft, ist dies ein logischer HinweisWichtiger Hinweis für
OLLAMA_API_BASE_URL:- Wenn Sie Docker auf Linux verwenden und Ollama direkt auf dem Hostsystem läuft, verwenden Sie
http://host.docker.internal:11434. Falls dies Probleme bereitet, können Sie stattdessen die tatsächliche IP-Adresse Ihres Hosts im lokalen Netzwerk verwenden (z.B.http://192.168.1.100:11434). - Unter macOS/Windows mit Docker Desktop funktioniert
host.docker.internaldirekt.
- Wenn Sie Docker auf Linux verwenden und Ollama direkt auf dem Hostsystem läuft, verwenden Sie
-
Starten Sie Open WebUI:
docker-compose up -d
Sie können Open WebUI nun unter http://Ihre-Server-IP:8081 erreichen. Beim ersten Zugriff müssen Sie einen Benutzer registrieren. Danach können Sie Ihre Ollama-Modelle auswählen und mit ihnen chatten.
Common mistake: Falsche OLLAMA_API_BASE_URL. Wenn Open WebUI keine Verbindung zum Ollama-Dienst herstellen kann, überprüfen Sie diese Umgebungsvariable im docker-compose.yml und stellen Sie sicher, dass Ollama auf dem System läuft und Port 11434 offen ist.
🔗 Step 4: SearXNG mit Ollama / Open WebUI verbinden – Die smarte Symbiose
Dies ist der entscheidende Schritt, um die Intelligenz von Ollama in Ihre Suchanfragen zu integrieren und eine echte Perplexity-Alternative zu schaffen. SearXNG kann so konfiguriert werden, dass es bestimmte Anfragen an Ihr lokales LLM weiterleitet.
Konfiguration von SearXNG für die LLM-Integration
SearXNG verwendet eine settings.yml-Datei zur Konfiguration. Wir müssen diese anpassen, um eine "Engine" zu definieren, die mit unserem lokalen LLM interagiert.
-
Suchen Sie die
settings.ymlim SearXNG-Container. Am einfachsten ist es, wenn Sie diese Datei außerhalb des Containers persistieren. Imdocker-compose.ymlaus Step 1 haben wir ein/configVolume gemountet. Kopieren Sie die Standardkonfiguration dorthin:docker cp searxng:/app/searxng/settings.yml ~/searxng/searxng-data/settings.yml -
Bearbeiten Sie die kopierte
settings.yml:nano ~/searxng/searxng-data/settings.yml -
Suchen Sie den Abschnitt
engines:und fügen Sie einen neuen Motor für Ihr LLM hinzu. Dies ist ein einfaches Beispiel, das Ollama über seine API anspricht. Beachten Sie: Hier müssen wir die IP-Adresse des Host-Systems verwenden, da der SearXNG-Container sich sonst selbst sucht.# ... anderer engines Code ... # Beispiel für einen Ollama LLM Engine ollama_ai: url: http://Ihre-Server-IP:11434/api/generate # Ersetzen Sie 'Ihre-Server-IP' request_method: POST request_payload: model: llama2 # Ersetzen Sie durch Ihr geladenes Modell prompt: "{{query}}" stream: false response_jsonpath: - "$.response" categories: - ai - general priority: 10 disabled: falseErsetzen Sie
Ihre-Server-IPdurch die tatsächliche IP-Adresse Ihres Servers. Der Port 11434 ist der Standard-API-Port von Ollama. -
Speichern Sie die Datei und starten Sie den SearXNG-Container neu, damit die Änderungen wirksam werden:
cd ~/searxng docker-compose restart searxng
Jetzt können Sie in SearXNG über die Engine-Auswahl manuell die ollama_ai-Engine aktivieren oder, indem Sie !ollama_ai Ihre Frage in das Suchfeld eingeben. SearXNG sendet dann Ihre Anfrage an Ollama und zeigt die Antwort als Suchergebnis an.
Common mistake: Falsche IP-Adresse oder fehlende Portfreigabe. Der SearXNG-Container muss den Ollama-Dienst auf dem Host erreichen können. Stellen Sie sicher, dass keine Firewall den Zugriff auf Port 11434 blockiert (sudo ufw allow 11434/tcp).
📌 Key fact
SearXNG kann auch so konfiguriert werden, dass es automatisch bestimmte Arten von Anfragen an die LLM-Engine weiterleitet. Dies erfordert fortgeschrittene Regelkonfigurationen in der settings.yml und ist ein Weg, die Perplexity-Erfahrung weiter zu imitieren.
🛡️ Step 5: Sicherheit und Wartung – Eine private Umgebung schützen
Eine selbst gehostete Umgebung erfordert immer Aufmerksamkeit bei der Sicherheit und regelmäßige Wartung.
Grundlegende Sicherheitsmaßnahmen
- Firewall einrichten (UFW): Beschränken Sie den Zugriff auf Ihre Dienste auf die benötigten Ports. Standardmäßig für SSH (
22), SearXNG (8080), Open WebUI (8081) und Ollama (11434).sudo ufw allow OpenSSH sudo ufw allow 8080/tcp sudo ufw allow 8081/tcp sudo ufw allow 11434/tcp # Nur wenn Sie direkt auf Ollama API von extern zugreifen wollen. Intern nicht immer nötig. sudo ufw enable - Starke Passwörter: Bei der Erstanmeldung von Open WebUI ein starkes Passwort wählen.
- Regelmäßige Updates: Halten Sie Ihr Ubuntu-System und Ihre Docker-Images auf dem neuesten Stand.
# Ubuntu Updates sudo apt update && sudo apt upgrade -y # Docker Image Updates cd ~/searxng && docker-compose pull && docker-compose up -d cd ~/open-webui && docker-compose pull && docker-compose up -d - Kein direkter externer Zugriff: Öffnen Sie Porte
8080,8081und11434nicht direkt zum Internet, es sei denn, Sie haben zusätzliche Sicherheitsmaßnahmen wie einen Reverse Proxy mit SSL (z.B. Nginx mit Let's Encrypt) implementiert und die Dienste entsprechend gesichert (Authentifizierung). Für den internen Gebrauch ist dies nicht erforderlich.
Backups und Monitoring
- Regelmäßige Backups: Sichern Sie die Daten-Volumes Ihrer Docker-Container (z.B.
~/searxng/searxng-dataund~/open-webui/open-webui-data). - Systemressourcen überwachen: Behalten Sie CPU, RAM und Festplattennutzung im Auge, besonders wenn Sie größere LLMs laufen lassen.
✅ Do this
Konfigurieren Sie einen cronjob, um Ihre Docker-Images und das Ubuntu-System wöchentlich oder monatlich automatisch zu aktualisieren. Dies stellt sicher, dass Sie von den neuesten Sicherheitsfixes und Funktionen profitieren.
📈 Step 6: Modell-Management und Optimierung – Feintuning Ihrer KI-Suchmaschine
Die Leistung und Fähigkeiten Ihrer privaten Perplexity-Alternative hängen maßgeblich von den gewählten LLMs ab. Ollama bietet eine breite Palette von Modellen, von kleinen, schnellen bis zu großen, sehr leistungsfähigen.
Auswahl und Wechsel von Ollama-Modellen
- Modelle erkunden: Besuchen Sie die Ollama-Modellbibliothek, um verfügbare Modelle zu sehen. Achten Sie auf die Größe und die Systemanforderungen.
- Modell herunterladen: Über die Befehlszeile von Ihrem Server:
(z.B.ollama pull nom_des_modellesollama pull dolphin-mistral:latestfür ein leistungsstarkes Code-Modell). - Modell in Open WebUI wählen: Nach dem Herunterladen erscheinen neue Modelle automatisch in der Modellauswahl von Open WebUI.
- Modell in SearXNG ändern: Passen Sie die
model-Zeile in der SearXNGsettings.ymlunter Ihremollama_aiEngine an und starten Sie SearXNG neu (docker-compose restart searxng).
Optimierungstipps für Leistung
- Quantisierte Modelle: Suchen Sie nach "quantisierten" Versionen von Modellen (z.B.
7B-Q4_K_M), die weniger Speicher benötigen und schneller laufen, oft mit kaum merklichem Qualitätsverlust. - Batch-Verarbeitung: Für fortgeschrittene Anwendungsfälle können Sie Ollama für die Batch-Verarbeitung konfigurieren, um mehrere Anfragen gleichzeitig zu bearbeiten.
- GPU-Nutzung: Wie bereits erwähnt, ist eine kompatible GPU der größte Leistungsschub für LLMs. Stellen Sie sicher, dass Ollama diese korrekt nutzt.
| Modellname | Größe (ca.) | Empf. RAM | Typischer Anwendungsfall | Besonderheit |
|---|---|---|---|---|
llama2:7b | 3.8 GB | 8 GB | Allzweck-Textgenerierung, Chat | Guter Kompromiss aus Größe und Leistung |
mistral:7b | 4.1 GB | 8 GB | Code-Generierung, Logikrätsel | Stark in logischen Aufgaben |
dolphin-mistral | 4.1 GB | 8 GB | Code-Assistenz, kreatives Schreiben | Feinjustiert für vielseitige Aufgaben |
phi3 | 2.3 GB | 4 GB | Leichter Chatbot, Zusammenfassungen | Sehr effizient, ideal für Einsteiger oder schwache Hardware |
🔄 Troubleshooting: Häufige Probleme und Lösungen
Auch bei einer schrittweisen Anleitung können Fehler auftreten. Hier sind Lösungen für häufige Probleme.
🆘 SearXNG oder Open WebUI nicht erreichbar
- Problem: Sie können den Dienst unter
http://Ihre-Server-IP:PORTnicht erreichen. - Lösung:
- Überprüfen Sie, ob der Docker-Container läuft:
docker ps. Wenn nicht, starten Sie ihn:cd ~/ORDNER && docker-compose up -d. - Überprüfen Sie die Firewall (UFW):
sudo ufw status. Stellen Sie sicher, dass der Port freigegeben ist (sudo ufw allow PORT/tcp). - Überprüfen Sie den
ports-Eintrag in Ihrerdocker-compose.yml, ob der richtige Port gemappt ist. - Stellen Sie sicher, dass keine andere Anwendung denselben Port auf Ihrem Server belegt (
sudo lsof -i :PORT).
- Überprüfen Sie, ob der Docker-Container läuft:
🆘 Ollama kann keine Modelle herunterladen oder starten
- Problem: Beim
ollama pulloderollama runtreten Fehler auf. - Lösung:
- Speicherplatz:
df -hüberprüfen, ob genügend Festplattenspeicher vorhanden ist. - RAM/VRAM:
free -hfür RAM,nvidia-smi(falls NVIDIA GPU) für VRAM. Wenn der Speicher nicht ausreicht, versuchen Sie kleinere Modelle oder quantisierte Versionen. - Netzwerk: Stellen Sie sicher, dass Ihr Server Internetzugang hat und DNS korrekt funktioniert (
ping google.com). - Ollama-Dienststatus:
systemctl status ollamaüberprüfen. Neu starten mitsudo systemctl restart ollama.
- Speicherplatz:
🆘 Open WebUI kann keine Verbindung zu Ollama herstellen
- Problem: Open WebUI zeigt Fehlermeldungen bezüglich der Verbindung zu Ollama an.
- Lösung:
- Überprüfen Sie die
OLLAMA_API_BASE_URLin deropen-webui/docker-compose.yml. Stellen Sie sicher, dasshttp://host.docker.internal:11434(Linux/macOS) korrekt ist oder die tatsächliche Host-IP verwendet wird. - Stellen Sie sicher, dass Ollama läuft und dass auf Port 11434 vom Docker-Container aus zugegriffen werden kann. Testen Sie dies, indem Sie versuchen from dem Docker Host selbst einen
curlAufruf zu machen:curl http://localhost:11434/api/tagssollte eine Liste der installierten Modelle zurückgeben. - Möglicherweise blockiert eine Firewall auf dem Host-System den Zugriff auf Port 11434 vom Docker-internen Netzwerk. Dies ist selten, aber überprüfenswert.
- Überprüfen Sie die
| Komponente | Symptom | Häufige Ursache | Lösung |
|---|---|---|---|
| SearXNG | Nicht erreichbar (8080) | Docker nicht gestartet, Firewall | docker ps, sudo ufw status |
| Ollama | Modellfehler, langsam | Wenig RAM/VRAM, Netzwerkproblem | Kleineres Modell, free -h, ping, Ollama Service-Check |
| Open WebUI | Keine Ollama-Verbindung | Falsche API-URL, Firewall | OLLAMA_API_BASE_URL prüfen, curl Test |
🌟 Fazit: Ihre private, intelligente Suchumgebung ist bereit
Sie haben es geschafft! Mit der erfolgreichen Einrichtung von SearXNG, Ollama und Open WebUI auf Ihrem Ubuntu 24.04 Server verfügen Sie nun über eine leistungsstarke, private Perplexity-Alternative. Diese Lösung bietet nicht nur die intelligenten Suchfunktionen, die Sie von modernen KI-Assistenten erwarten, sondern gibt Ihnen auch die volle Kontrolle über Ihre Daten und Modelle zurück.
Dieses Setup ist ein Paradebeispiel dafür, wie Open-Source-Software und Self-Hosting die digitale Welt demokratisieren und Anwendern mehr Souveränität ermöglichen können. Experimentieren Sie mit verschiedenen LLM-Modellen, passen Sie die Integration weiter an Ihre Bedürfnisse an und genießen Sie die Gewissheit, dass Ihre Suchanfragen und Interaktionen privat bleiben. Die Reise des Self-Hostings ist eine fortlaufende – bleiben Sie neugierig, bleiben Sie sicher und genießen Sie Ihre neue Ära der privaten Intelligenz.
“Nehmen Sie die Kontrolle über Ihre Daten und Suchanfragen zurück – mit Ihrer privaten KI-Suchmaschine.”
Häufige Fragen
- Was ist der Hauptvorteil einer selbst gehosteten Perplexity-Alternative?
- Der Hauptvorteil besteht in der vollständigen Kontrolle über Ihre Daten und Suchanfragen. Im Gegensatz zu kommerziellen Diensten werden Ihre Informationen nicht an Dritte gesendet oder zur Modelloptimierung verwendet, was maximale Privatsphäre und Datensouveränität gewährleistet.
- Benötige ich eine spezielle Hardware, um Ollama zu betreiben?
- Für kleinere LLMs (z.B. Phi-3) können 4-8 GB RAM und eine CPU ausreichen. Für größere oder performantere Modelle ist jedoch eine **NVIDIA- oder AMD-GPU mit ausreichend VRAM** (mindestens 8 GB, besser 16 GB+) dringend empfohlen, um eine akzeptable Geschwindigkeit zu erreichen.
- Wie aktualisiere ich SearXNG, Ollama und Open WebUI nach der Installation?
- Für SearXNG und Open WebUI, die in Docker laufen, navigieren Sie in deren Verzeichnisse und führen `docker-compose pull` gefolgt von `docker-compose up -d` aus. Für Ollama nutzen Sie das Update-Skript: `curl -fsSL https://ollama.com/install.sh | sh`.
- Kann ich diese private Suchmaschine für mehrere Benutzer freigeben?
- Prinzipiell ja. Open WebUI unterstützt Benutzerverwaltung. Für den externen Zugriff sollten Sie jedoch unbedingt einen **Reverse Proxy (z.B. Nginx) mit SSL-Verschlüsselung (Let's Encrypt)**, robuster Authentifizierung und weiteren Sicherheitsmaßnahmen implementieren, um Ihren Server zu schützen.
