, , , ,

Eigene Suchemaschine mit Docker erstellen (searXNG)

min Lesezeit

Letzte Änderung

Bitte überprüfe, ob es einen neueren Artikel zu diesem Thema gibt.

Das letzte Update war vor 12. Juni 2024 von Benedikt Schächner

In diesem Tutorial zeigen wir dir, wie du deine eigene Suchmaschine mit Docker erstellen kannst.
Dieser Dienst basiert auf searXNG, das ist eine kostenlose Open-Source-Software, in der man viele verschiedene Personalisierungen machen kann; unter anderem, welche Suchmaschine für die Suche genutzt wird.
Am besten wir starten gleich mit der Installation!
Dazu brauchen wir zuerst eine Verbindung über SSH oder einen direkten Zugriff in das Terminal.
Und fangen hier gleich mit dem ersten Code an, um immer Admin-Rechte zu bekommen.

sudo su

Jetzt müssen wir zuerst ein neues Verzeichnis erstellen, in dem das alles gespeichert wird:

mkdir SchächnerSuche
cd SchächnerSuche

Jetzt legen wir den Port fest, das geht mit folgendem Code:

export PORT=8080

In diesem Fall ist der Port auf 8080 festgelegt, kann aber beim erneuten Ausführen des Codes wieder geändert werden. Anschließend müssen wir nur noch das Image herunterladen:

docker pull searxng/searxng

Danach brauchen wir einen zusammenhängenden Code, der den Container erstellt.

docker run --rm \
-d -p ${PORT}:8080 \
-v "${PWD}/searxng:/etc/searxng" \
-e "BASE_URL=https://search.schächner.de/" \
-e "INSTANCE_NAME=SchächnerSuche" \
searxng/searxng


Bei „BASE_URL“ ist die URL festgelegt, unter der die Suche erreichbar ist. Standardmäßig ist es http://localhost:$PORT/, dann ist es auch unter der IP-Adresse erreichbar (bzw. in diesem Fall nur unter „localhost:PORT“. Falls du aber eine Freigabe über das Internet planst, solltest du hier deine Domain eingeben, über die das dann der Fall ist. Diese muss dann zum Beispiel in Cloudflare als Tunnel zur IP-Adresse:PORT zeigen. Eine genauere Anleitung zu Cloudflare & Tunnels gibt es hier:


Bei „INSTANCE_NAME“ ist der Name dieser Instanz festgelegt. Das kann später aber alles noch in der settings.yml geändert werden.
Jetzt sollte – je nachdem, wie die URL festgelegt wurde – die Suche erreichbar sein. Um das zu überprüfen können Sie die URL öffnen. Falls du jetzt aber nach dem Speichern der Änderungen zu http://localhost weitergeleitet wirst, müssen wir diese Problem noch beheben.

In diesem Fall musst du die settings.yml-Datei bearbeiten.

sudo nano /etc/searxng/settings.yml

Hier suchst du mit strg+w nach „localhost“ und ersetzt diesen Domainnamen dann mit der richtigen Domain. Wir speichern das alles dann wieder mit strg+o und tippen die Enter-Taste. Da es jetzt vermutlich immer noch nicht geht, müssen wir den Container wieder neu starten. Das machen wir, indem wir in das übergeordnete Verzeichnis wechseln und hier den Container einfach stoppen und wieder neu starten.

sudo docker run --rm -it searxng/searxng -f

Falls dies nicht klappen sollte, währe es am besten, den Container über Portainer neu zu starten.

Schreibt Fragen, Anregungen & Wünsche gerne unten in die Kommentare oder uns per server@schächner.de

Viele Grüße und besinnliche Weihnachtsfeiertage,

Schächner


Hier sind als letztes noch Links zu unseren Social-Media-Kanälen, auf denen wir regelmäßig Updates zu neuen Artikeln und anderen relevanten Informationen veröffentlichen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

magnifying glass on white table