Eine Suchmaschine ist eine der wichtigsten Tools im Internet. Google ist hier der unangefochtenen Platzhirsch: Die Marktmacht von Google lässt sich allein schon an der Tatsache erahnen, dass das Wort „googeln“ schon 2004 im Duden aufgenommen wurde.
Wer nun aber Wert auf Privatsphäre und Datenschutz im Internet legt, für den ist Google sicherlich nicht die beste Wahl.
Hier gilt es also, sich nach Alternativen umzusehen. Auf dem Markt gibt es zum Glück einige Suchmaschinen, die in Bezug auf Privatsphäre und Datenschutz besser dastehen als Google. Einfach eine andere Suchmaschine zu benutzen ist jedoch auch keine optimale Lösung – mehr dazu später.
Der folgende Artikel soll daher zeigen, wie man searx als eigene Metasuchmaschine mit Docker und nginx betreiben kann. Damit bleibt man auch bei der Suche im Internet Herr seiner eigenen Daten.
Update-Historie (letztes Update: 05.02.2020)- 05.02.2020:
- Update für searx v0.16.0: Der Docker-Container nutzt nun den Port 8080.
- 15.12.2019:
- Befehl zum Starten des Docker-Containers angepasst, so dass keine Docker-Logs geschrieben werden (–log-driver none).
- 13.11.2019:
- Allgemeine Hinweise zum Betrieb einer eigenen searx-Instanz hinzugefügt (kleiner Nutzerkreis).
- 21.10.2019:
- Hinweis auf das Anpassen der Standard-Einstellungen (/opt/searx/searx/settings.yml) hinzugefügt.
Inhalt
Warum eine eigene Suchmaschine betreiben?
Sehen wir uns den Markt der Suchmaschinen mal näher an:
Hier gibt es zum einen Suchmaschinen, die von den jeweiligen Anbietern betrieben werden, z.B. Google, Bing, Yahoo, etc. Nur diese großen Anbieter haben die Kapazitäten, eigene Suchindizes aufzubauen. Und wer hier investiert, der möchte mit dem Produkt natürlich auch Geld verdienen. Dies sind jedoch nicht die Suchmaschinen selbst, sondern das Produkt sind dabei die Benutzer (bzw. deren Daten). Die Benutzer-Daten können gesammelt und ausgewertet werden, um daraufhin z.B. personalisierte Werbung zu schalten.
Daneben gibt es die sog. Metasuchmaschinen. Dies sind Suchmaschinen, die keine eigenen Suchindizes verwalten, sondern Suchanfragen an andere Suchmaschinen (wie z.B. Google) weiterleiten. Der große Vorteil dabei ist, dass dadurch Suchanfragen anonymisiert werden können, da z.B. Google einen User nicht mehr eindeutig tracken kann. Der einzige Nachteil an einer Metasuchmaschine ist, dass die Suchergebnisse nicht mehr personalisiert werden. Daher hat man immer das Gefühl, dass die Suchergebnisse von Google direkt etwas besser ausfallen, als die Ergebnisse einer Metasuchmaschine. Google schafft dies allerdings nur, weil die User getrackt werden, und das wollen wir ja gerade verhindern.
Lange Zeit habe ich Startpage als Metasuchmaschine genutzt und empfohlen. Jedoch hat Startpage ab Oktober diesen Jahres mit System1 LLC einen neuen Anteilseigner (Quellen: hier bzw. hier). Dessen Geschäftsmodell basiert allerdings genau auf dem Sammeln und Auswerten von Daten. Dies passt meiner Meinung nach nicht zu den Grundsätzen von Startpage (lt. eigener Aussage „die diskreteste Suchmaschine der Welt“). Mit dieser Meinung stehe ich sicherlich nicht allein da, siehe Startpage and System1 Abuse Your Privacy Under the Guise of ‘Privacy One Group’.
Eine Alternative wäre hier z.B. DuckDuckGo (ebenfalls eine Metasuchmaschine). Allerdings wird diese von einem amerikanischen Anbieter betrieben, der lt. Gesetzt dazu verpflichtet ist, mit den US-Behörden zusammen zu arbeiten. Also kann man im Zweifelsfall auch davon ausgehen, dass hier Daten gespeichert und ausgewertet/weitergegeben werden.
Mit searx gibt es allerdings auch eine Metasuchmaschine, die auf einem eigenen Server betrieben werden kann. Ziel dieses Open Source Projektes ist der Schutz der Privatsphäre der Benutzer, indem keine IP-Adressen an die dahinter liegenden Suchmaschinen weitergegeben werden und deren Tracking-Cookies geblockt werden.
Voraussetzungen und Installationsvarianten
searx kann auf jedem Linux-System installiert werden, welches Python-Programme ausführen kann. Dies ist auf so gut wie allen Distributionen gegeben.
Dabei gibt es mehrere Installationsvarianten:
- Die klassische Installation.
- Das Bauen eines Docker-Images aus dem offiziellen Repositories und der Betrieb als Docker-Container.
- Die Nutzung eines vorgefertigten Docker-Images (z.B. wonderfall/serx bei Docker Hub).
- Die Nutzung des Docker-Images aus dem Projekt searx-docker.
Ich empfehle hier die zweite Variante, indem das Docker-Image aus dem offiziellen Repository gebaut wird. Genau diese Variante wird daher auch in diesem Artikel gezeigt.
Daher ist der Betrieb von Docker ebenfalls eine Installations-Voraussetzung. Eine Einführung zu Docker mit Installationsanweisungen kann dem Artikel Docker auf Ubuntu Server entnommen werden.
Wichtig ist hier auch, dass die Suchmaschine per HTTPS erreichbar ist, damit die Verbindung stets verschlüsselt ist. Hier wird nginx als Webserver verwendet, der die Anfragen an die Suchmaschine an den Docker-Container weiterleitet. Der Webserver ist hierbei für die Verschlüsselung per HTTPS zuständig. Wie man die entsprechenden TLS-Zertifikate mittels acme.sh erzeugen kann, ist im Artikel RSA und ECDSA-Zertifikate mit nginx (Hybrid-Lösung) zu finden.
Am einfachsten ist der Betrieb der Suchmaschine über eine eigene (Sub-)Domain. Wenn DynDNS verwendet wird, dann empfiehlt sich das Anlegen eines CNAME-Eintrags. Details dazu findet man im Artikel Nextcloud: Online-Office mit ONLYOFFICE (mit eigener Subdomain). Im folgenden gehe ich davon aus, dass die Suchmaschine unter der Domain searx.meinedomain.de betrieben wird.
Allgemeine Hinweise zum Betrieb einer eigenen searx-Instanz
Der Artikel zeigt, wie man schnell eine eigene searx-Instanz in Betrieb nehmen kann. Jedoch sollte man sich im Vorfeld Gedanken über den Nutzerkreis der Instanz machen.
Google, Bing & Co „sehen“ nur die IP-Adresse des searx-Servers. Wenn die eigene Suchmaschine nur von sehr wenigen Usern benutzt wird (im Extremfall von nur einem Benutzer), nutzt die Verschleierung der IP-Adressen der Clients durch searx hier wenig. Die Suchmaschinen können dann ebenso einfach ein Profiling vornehmen, als wenn man die diese direkt (d.h. ohne searx) verwenden würde – da die IP pro Nutzer immer die gleiche ist.
Daher sollte man eine searx-Instanz besser nicht mit sehr wenigen/einem einzelnen Benutzer betreiben. Je mehr Benutzer die Instanz verwenden, desto weniger können die Suchmaschinen ein Profiling vornehmen.
Wenn der Nutzerkreis der eigenen searx-Instanz vermutlich sehr klein ausfallen wird, ist es vielleicht eine Überlegung wert, statt einer privaten searx-Instanz auf eine der öffentlich verfügbaren searx-Instanzen auszuweichen.
searx installieren
Zunächst bringen wir das System auf den neusten Stand:
apt update && apt upgrade -V && apt dist-upgrade && apt autoremove
Anschließend wird das Git-Repository gecloned:
cd /opt git clone https://github.com/asciimoo/searx.git cd searx
In den meisten Anleitungen wird das Docker-Image direkt aus dem Main-Branch des Projekts gebaut (Entwicklungsversion). Ich empfehle hier jedoch das Bauen des neusten Releases. Dazu listet man zunächst einmal die Releases des Projekts auf:
git tag -l

Momentan ist die Version v0.16.0 aktuell, daher rufen wir im Folgenden diesen Release ab:
git checkout tags/v0.16.0
Die Warnung („Detached Head“) kann hier ruhig ignoriert werden.
Auch wenn searx recht gute Standard-Einstellungen mitbringt (z.B. die zu verwendenden Suchmaschinen, die Standard-Sprache der Suche, das Theme, etc.), können diese Einstellungen individuell angepasst werden. Dazu wird vor dem Bauen des Docker-Images folgende Datei bearbeitet:
nano /opt/searx/searx/settings.yml
Die Inhalte dieser Datei sind eigentlich selbsterklärend und würden den Rahmen des Artikels sprengen. Daher wird an dieser Stelle nur auf die Möglichkeit hingewiesen, die Einstellungen der searx-Instanz individuell anzupassen.
Auch wenn alle Einstellungen auf Standard belassen werden, können die Benutzer der Suchmaschine später ihre individuellen Einstellungen vornehmen. Diese werden dann Client-seitig mittels eines Cookies gespeichert.
Das einzige, was ihr in der Datei settings.yml ändern solltet, ist der sog. secret_key: Dies kann mit folgendem Befehl schnell durchgeführt werden:
sed -i -e "s/ultrasecretkey/`openssl rand -hex 32`/g" /opt/searx/searx/settings.yml
Das Docker-Image wird nun mit folgendem Befehl gebaut:
docker build -t searx .
Nun kann man sich erst mal einen Kaffee holen, da dieser Vorgang durchaus ein paar Minuten dauert.
Anschließend kann der Container auch schon gestartet werden:
docker run -d --name searx -p 8080:8080 --restart=always --log-driver none -e IMAGE_PROXY=True -e BASE_URL=https://searx.meindomain.de searx
Die Parameter haben dabei die folgende Bedeutung:
-
-p 8080:8080
Der Port 8080 (Standard-Port von searx) wird vom Host-System an den Docker-Conatiner weitergeleitet.
Hinweis: Dies hat sich mit der Version v0.16.0 von searx geändert, bis searx v0.15.0 war dies der Port 8888. Dieser ist weiterhin auch im Settings-File (settings.yml) von searx angegeben, wird aber nicht wirklich verwendet, da der Docker-Container nur den Port 8080 nutzt. -
--restart=always
Der Container soll bei jedem Systemstart automatisch gestartet werden.
-
--log-driver none
Sorgt dafür, dass keine Logs geschrieben werden. Ohne diesem Parameter könnten die Logs später mit dem Befehl docker logs searx abgerufen werden.
Wichtig: Dieser Parameter sollte unbedingt gesetzt werden, wenn durch die searx-Instanz absolut keine Daten geloggt werden sollen. -
-e IMAGE_PROXY=True
Aktiviert die Proxy-Funktion für Bilder, d.h. Bilder werden nicht direkt durch den Client-Browser abgerufen, sondern durch searx selbst.
-
-e BASE_URL=https://searx.meindomain.de
Hiermit wird die URL angegeben, unter der searx erreichbar sein soll. Hier muss auch das Protokoll (http/https) mit angegeben werden.
Der letzte Schritt ist nun das Hinzufügen eines virtuellen Hosts für nginx:
nano /etc/nginx/conf.d/searx.meinedomain.de.conf
Beispielhaft kann die Konfiguration hier folgendermaßen aussehen:
server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name searx.meinedomain.de; # Include SSL configuration include /etc/nginx/snippets/ssl.conf; # Include headers include /etc/nginx/snippets/headers.conf; # Important: Disable error and access log, so that no IPs get logged access_log off; error_log off; # # Configuration for Searx # location / { proxy_pass http://localhost:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Remote-Port $remote_port; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; } }
Das Setzen der Settings für SSL und der Standard-Header des Webservers erfolgt hier über das Einbinden über includes. Interessant ist hier hauptsächlich der location-Block, mit dem die Anfrage an den Docker-Container von searx weitergeleitet wird (Port 8080). Diese Kommunikation erfolgt unverschlüsselt über HTTP, da diese nur Maschinen-intern stattfindet.
Wichtig: Damit absolut keine Daten gesammelt werden, sollten Access- und Error-Log für diesen virtuellen Host deaktiviert werden (access_log off bzw. error_log off). Wenn diese nicht deaktiviert werden, werden die IPs der Aufrufer automatisch über nginx geloggt!
Zu guter Letzt muss der Webserver noch neu gestartet werden:
service nginx restart
Nun kann die Suchmaschine schon über den Browser aufgerufen werden: https://searx.meinedomain.de

Damit searx als Standard-Suchmaschine genutzt werden kann, muss diese Suchmaschine noch im Browser hinzugefügt werden. Bei Firefox kann dies über das Menü mit den drei Punkten in der Adress-Leiste erledigt werden.

Anschließend kann die Standard-Suchmaschine in den Einstellungen des Browsers gesetzt werden.
Die Nutzung von searx
Nachdem searx nun fertig installiert ist, können die Optionen der Suchmaschine über einen Klick auf Einstellungen (oben rechts) gesetzt werden (z.B. welche Suchmaschinen verwendet werden). Die wichtigste Einstellung ist hier vermutlich die Suchsprache, welche auf Deutsch – de gesetzt werden sollte, da ansonsten nur englische Suchergebnisse angezeigt werden:

Diese Einstellungen werden übrigens nicht bei searx gespeichert, sondern ausschließlich per Cookie auf dem Client.
Nun lohnt sich noch ein Blick auf die Such-Syntax. Hiermit können z.B. die Ergebnisse auf eine Suchmaschine begrenzt werden. Soll z.B. nur bei Wikipedia nach dem Suchbegriff „Nürnberg“ gesucht werden, sieht die Syntax folgendermaßen aus: !wp Nürnberg
Ebenso kann explizit nach Suchergebnissen einer bestimmten Sprache gesucht werden (z.B. Englisch): :en Nürnberg
searx updaten
Wenn eine neue Version von searx verfügbar ist, wird das alte Image entfernt und das GitHub-Repository einfach neu abgerufen, wie schon bei der initialen Installation:
docker stop searx docker rm searx docker rmi searx cd /opt rm -r searx git clone https://github.com/asciimoo/searx.git cd searx git tag -l git checkout tags/v0.16.0 docker build -t searx . docker run -d --name searx -p 8080:8080 --restart=always -e IMAGE_PROXY=True -e BASE_URL=https://searx.meindomain.de searx
Fazit
Mittels Docker ist die eigene searx-Instanz schnell aufgesetzt. Durch das Hosten der Metasuchmaschine auf eigener Hardware und der Tatsache, dass keine IPs oder Suchanfragen geloggt werden, ist dies eine gute Lösung bzgl. Datenschutz und Privatsphäre.
Neben der Nutzung einer komplett eigenen Instanz kann auch eine öffentliche Instanz von searx genutzt werden. Eine Liste von öffentlichen Instanzen ist im Wiki des GitHub-Repositories zu finden: Searx instances
Bei der Verwendung einer öffentlichen Instanz muss man jedoch dem Administrator der Instanz vertraut werden (siehe Why use a private instance?). Von außen ist nämlich nicht ersichtlich, ob hier vielleicht doch Daten gesammelt/ausgewertet/weitergegeben werden. Absolut sicher gehen kann man hier nur durch eine eigene/persönliche Instanz von searx.
Welche Suchmaschine nutzt ihr? Ist euch hier Privatsphäre und Datenschutz wichtig, oder geht es euch mehr um den Komfort beim Suchen? Hinterlasst mir dazu doch einfach einen Kommentar.
Whow super interessanter Artikel!
Ich wusste gar nicht das es so etwas zum selbst hosten gibt!
DANKE dafür!
Kann man sowas auch auf der Nextcloud paralell installieren und nach draußen den Port 8888 frei geben?
Oder sollte man das Ganze in Docker betreiben?
Gruß Bernd
Hallo Bernd,
das Betreiben über Docker ist in meinen Augen die unkomplizierteste Lösung. Du kannst natürlich auch einen anderen Port nutzen. Diesen musst du dann nur über die Firewall freigeben. Dann ist nur zu beachten, dass es etwas umständlich ist, immer den Port mit angeben zu müssen.
Eine andere Variante wäre es, searx über ein Unterverzeichnis einer bestehenden Domain zu hosten.
Gruß,
Jan
Habe bisher auch startpage verwendet, bin jetzt aber (aus gleichen Gründen wie du) auf eine öffentliche searx-Instanz ausgewichen.
Macht der Betrieb der searx auf einem Home-Server Sinn ?
Google& Co kriegen die IP und die Anfragen vom Heim-Server (searx), das will man nicht mit evtl. privaten Anfragen aus dem Heimnetz verknüpfen wollen.
(vor allem nicht wenn die searx überwiegend von mir verwendet wird und nicht auch noch durch andere, fremde Personen, genutzt wird)
Genauso ist es wenn ich auf dem gleichen Server ein (privaten) VPN betreiben sollte.
Hallo Tom,
klar, je mehr User eine searx-Instanz nutzen, desto weniger kann Google & Co. ein Profil aus den Suchanfragen ableiten.
Aber auch, wenn eine Instanz nur von einem einzelnen Benutzer genutzt wird, bietet searx Vorteile (z.B. können die Suchmaschinen keinen Benutzer eindeutig durch eine Browser-Kennung identifizieren, da solche Daten durch searx „gefiltert“ werden). Mehr dazu hier. Darüber hinaus ändert sich ja im Normalfall alle 24 Stunden die IP – zumindest bei Internet-Anschlüssen ohne feste IP.
Also meiner Meinung nach macht der Betrieb auf einem Home-Server schon Sinn. Um so besser ist es allerdings, wenn mehrere Nutzer eine searx-Instanz nutzen. Aus diesem Grund habe ich ja auch einen Link auf meine Instanz hinzugefügt – vielleicht wird diese dann auch durch weitere Leute genutzt.
Gruß,
Jan
Warum nicht das offizielle Image vom Dockerhub nutzen? Wie begründet sich deine Empfehlung das Image selbst aus den Quellen zu schreiben?
Ansonsten dank für den Artikel. Ein Homeserver ist mein Herbst/Winter Projekt, da kommt dann auch searx drauf.
Hallo Jochen,
klar, du kannst auch ein vorgefertigtes Image verwenden. Welches würdest du denn als „offizielles“ Image bezeichnen (searx/searx ist ein Image, welches auf searx basiert, aber mit einigen zusätzlichen Dingen daher kommt, die man u.U. gar nicht braucht).
Ein Vorteil, wenn man sich das Image selbst baut: Man kann die Standard-Einstellungen seiner eigenen Suche beliebig anpassen.
Gruß,
Jan
Hallo Jan,
klasse das du hier Searx bekannt machst und zeigst wie man es einrichtet.
Ich würde gerne meine SearX Instanz, die als vHost in einem Subdirectory liegt, ausschließlich über IPv4 betreiben.
Kannst du mir einen Tipp geben, wie ich den vHost dementsprechend einstellen muss oder funktioniert?
PS Ich habe mal deine Instanz ausprobiert und festgestellt das Google nicht funktioniert. Mir haben die beiden Fixes geholfen:
https://github.com/asciimoo/searx/pull/1597/commits/5c80eb8460b9fc516de5b73277d298c617d5c6aa
und
https://github.com/asciimoo/searx/pull/1628/commits/19f6fcc8869e2c4b066d34bbe293ec14e6d77e53.
Kann auch sein, dass es schon nach dem ersten Fix funktioniert.
Beste Grüße
Hi,
wenn nur IPv4 benötigt wird, dann lass einfach folgende Zeile im vHost von nginx Weg:
listen [::]:443 ssl http2;
Ja, Google hat wohl vor Kurzem an der Ergebnis-Seite der Suche etwas verändert. Darauf hin kann searx diese nicht mehr Parsen. Ich denke, dass da bald schon ein Update nachgereicht wird.
Auf jeden Fall danke für dein Feedback!
Gruß,
Jan
Hi Jan,
danke für die Antwort.
„listen [::]:443 ssl http2;“ ist doch im GatewayHost eingetragen.
Würde ich dies im GatewayHost austragen, würde ich ja global für alle vHosts ipv6 deaktivieren.
Ich will jedoch nur für einen einzelnen vHost IPv6 deaktivieren.
Hi,
dann geht bei dir ja alles über den Gateway-Host. Hier sind dann alle Applikationen per IPv6 erreichbar oder eben nicht.
Warum willst du denn nur für eine Applikation den Zugriff über IPv6 unterbinden?
Gruß,
Jan
Der Postfix meiner IPv6 Adresse ist statisch. Daher würde ich gerne zur besseren Verschleierung IPv4 nehmen, bei dem sich die Adresse bei mir alle 24h komplett ändert.
Hi,
OK, dann könnte die Lösung so aussehen, dass du die Domain, die nicht per IPv6 erreichbar sein soll, aus dem server_name des Gateway-Hosts heraus nimmst. Dafür erstellst du einen zweiten Gateway-Host, der nur auf die entsprechende Domain hört. Hier dann nur IPv4 aktivieren.
Gruß,
Jan
An dieser Stelle möchte ich mich mal gaaaanz dolle bedanken. Ich habe einiges hier schon als Anregung mitgenommen und so auch jetzt wieder. Manchmal ist es schwierig, da ich mich für Apache entschieden habe und es für mich daher an bestimmten Stellen ein Umdenken erfordert.
Der Artikel hat mich veranlasst eine eingene Instanz aufzubauen, ohne Docker und mit Apache aber die Anregung kam hier her.
Ich freue mich schon auf die nächsten Artikel.
Gruß Norry
Hi Norry,
super, freut mich, wenn ich durch meine Artikel Anregungen für eigene Projekte liefern kann.
Weiter so!
Gruß,
Jan
Hallo Zusammen,
ich habe mir auch mal eine kleine Suchmaschine genau nach dieser Anleitung eingerichtet. Dass ganze hat auch alles super funktioniert, wenn ich jetzt einen Suchbegriff eingebe kommt jedoch folgende Fehlermeldung:
Fehler! Suchmaschinen können die Ergebnisse nicht empfangen.
bing (Zeitüberschreitung), wikidata (Zeitüberschreitung), google (Zeitüberschreitung), wikipedia (Zeitüberschreitung)
Hat jemand einen Tipp woran dass liegt?
Hi,
das ist mir auch schon aufgefallen, jedoch nur sporadisch. Bei der nächsten Suchanfragen kommen diese Fehler dann nicht mehr. Sind diese Fehler bei dir dauerhaft zu sehen?
Zu Google: v0.15 von searx kann aktuell keine Ergebnisse von Google empfangen, da Google hier anscheinend etwas am Design der Results-Pages geändert hat. Das wird vermutlich erst in einer zukünftigen Version von searx behoben werden.
Gruß,
Jan
Sollte man hier zusätzlich die ufw installieren und konfigurieren?
https://wiki.ubuntuusers.de/ufw/
Hi Martin,
kann man natürlich machen. Da ich allerdings nicht wissen kann, was sonst noch so auf dem System läuft, wollte ich diesen Tipp nicht explizit mit aufnehmen. Das Aktivieren von ufw kann schnell mal dazu führen, dass irgendwelche Dienste scheinbar plötzlich nicht mehr funktionieren.
Gruß,
Jan
Moin, gerade die searx erfolgreich installiert.
Was ich aber zusätzlich machen musste, ist in der „searx.meinedomain.de.conf“
den Pfad
# Include headers
include /etc/nginx/snippets/headers.conf;
musste ich auskommentieren – da sich sonst der nginix nicht starten ließ.
Was sollte denn in der headers.conf hinterlegt sein?
Hi Bastian,
hier sind generelle Header-Infos hinterlegt (z.B. zu HSTS). Diese einfach gar nicht mehr setzen zu lassen würde ich nicht unbedingt empfehlen. Wenn nginx nicht mehr startet, dann geb mal „nginx -t“ ein. Dann listet er dir die Sachen auf, die ihm am Starten hindern. Das sollte dann den entscheidenden Hinweis bringen.
Gruß,
Jan
Er gibt genau die Zeile als Fehler aus. Habe die Datei von Hand erstellt – jetzt lässt sich nginix normal starten. Aber ist das so richtig ?
Hi Bastian,
die Frage ist, wie der Fehler genau lautet (Datei nicht gefunden, etc.). Das wäre schon wichtig zu wissen.
Gruß,
Jan
Moin, das ist die Ausgabe wenn die Datei nicht existiert
nginx: [emerg] open() „/etc/nginx/snippets/headers.conf“ failed (2: No such file or directory) in /etc/nginx/conf.d/searx.meinedomain.de.conf:10
nginx: configuration file /etc/nginx/nginx.conf test failed
Hi Bastian,
ok, dann war die Datei einfach nicht da. Daher einfach anlegen – der Inhalt sieht beispielsweise folgendermaßen aus:
add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload;" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Robots-Tag none always;
add_header X-Download-Options noopen always;
add_header X-Permitted-Cross-Domain-Policies none always;
add_header Referrer-Policy no-referrer always;
add_header X-Frame-Options "SAMEORIGIN" always;
Danach nochmal nginx neu starten und es sollte keine Probleme mehr geben.
Gruß,
Jan
Hallo Jan,
ich habe das Tutorial nachgebaut, das funktioniert auch SUPER!!! Vielen Dank dafür!
Jetzt habe ich auch die Nextcloud nach deiner Anleitung am laufen, kann ich dort die SSL Verwaltung einfach übernehmen (also es läuft auf dem Nextcloud Server) eintragen? und einfach auf den Server mit der Searx Instanz verweisen? –> also auf eine Interne IPv4
oder geht so etwas nicht?
Vielen Dank
Gruß Bernd
bzw. würde ich gerne die Instanz unter einem Subdir laufen lassen z.B. unter meinedomain.de/searx – da genau dieses System ja bereits bei dem Nextcloud Tutorial Anwendung findet.
Danke Gruß Bernd
Hallo Bernd,
ja, das ist möglich. Du musst dazu nur den gateway-Host erweitern (weiteres Unterverzeichnis). Die Verwaltung der SSL-Zertifikate läuft dann analog. Als „Frontend“ für SSL dient einzig der Webserver (Gateway-Host). Was dann dahinter passiert, legst du mit dem proxy_pass fest. So kannst du die Kommunikation zur searx Instanz auch über HTTP oder über HTTPS (mit selbst signierten Zertifikaten) laufen lassen.
Gruß,
Jan
Ich steck auch gerade an genau dieser Stelle, ich hab leider keine wirkliche Ahnung von nginx. Also meinst du damit, dass man in deiner .conf-Datei oben auf server_name meinedomain.de; setzt und unten bei proxy_pass http://ipderinstanz:8080; ? Bisher hab ich mit nginx nur mit certbot benutzt für SSL. Was muss in die header.conf und ssl.conf rein?
Hi Marc,
im Prinzip ja. Entscheidend ist (wenn du es wirklich in einem Unterverzeichnis laufen lassen willst) der location-Block, der dann das proxy_pass enthält. Dieser location-Block stellt hierbei das Unterverzeichnis dar.
Für die Inhalte der ssl.conf schau mal hier rein. Die header-Konfiguration hängt immer ein wenig von der Webanwendung ab, das hier sollte allerdings eine gute Vorlage sein.
Gruß,
Jan
Danke für deine Hilfe! Habs hinbekommen! Eine letzte Frage hätte ich aber noch. Bei CSP Headers hab ich auf https://observatory.mozilla.org/ nur Rang B, er sagt keine Header implemented. Auf deiner Instanz scheints zu funktionieren. Was hat du noch gemacht?
Hi Marc,
eine Vermutung: Schau mal, ob ein solcher Header vielleicht irgendwo zwei mal gesetzt wird. Denn zwei mal gesetzte Header werden gern mal einfach ignoriert.
Gruß,
Jan
Danke für deine Hilfe! Hab noch was: Wie hast du deine settings.yml nach dem update auf v0.18 konfiguriert? Bei mir geht jetzt die Bildersuche nicht mehr. Liegt das an irgendeinem der Plugins?
Hi Marc,
also die Bildersuche geht bei mir. Hier kannst du die Änderungen nachvollziehen, die ich an meiner Searx-Instanz an der settings.yml geändert habe. Hier könnte die Option image_proxy vielleicht der Auslöser sein?
Gruß,
Jan
Moin,
in der Datei nano /opt/searx/searx/settings.yml kann ich ja wie beschrieben verschiedende Einstellungen vornehmen.
Werden diese Einstellungen bevorzugt behandelt ?
Weil bei mir steht alles was die Sprache betrifft auf :
language : „de-DE“
und trotzdem benutzt er immer die Language „en-EN“ verwendet.
Ich möchte die language : „de-DE“ grundsätzlich erstmal erzwingen
Danke
Bastian
Hi Bastian,
ja, das ist die Datei, mit der du die searx-Instanz genauer konfigurierst.
Ich habe bei der Sprache hier folgendes stehen:
language : "de"
Dann steht die Sprache standardmäßig auf Deutsch.
Edit: Die komplette Konfiguration meiner Instanz findest du übrigens hier.
Gruß,
Jan
Moin Jan,
bei mir scheint er die Config Datei nicht zu beachten.
Hi Bastian,
das ist seltsam, bei mir gab es nie Probleme, dass er die Config ordentlich anzieht.
Wie sieht der konkrete Befehl zum Starten des Docker-Containers aus?
Ist in den Logfiles des Containers irgendwas zu finden? Ich vermute hier, dass irgendwo ein Fehler in der yml-Datei ist, der dann verhindert, dass die Config geladen wird.
Gruß,
Jan
Gestartet wird der Container, so wie du es beschrieben hast.
docker run -d –name searx -p 8888:8888 –restart=always -e IMAGE_PROXY=True -e BASE_URL=https://searx.meindomain.de searx
Mit dem Command :
„sudo docker exec -it searx bash“
kann ich mich aber nicht in den Container einloggen. Es kommt folgende Fehlermeldung:
OCI runtime exec failed: exec failed: container_linux.go:346: starting container process caused „exec: \“bash\“: executable file not found in $PATH“: unknown
Ich hab auch schon deine komplette settings ausprobiert, dieses aber auch ohne erfolg.
Hi Bastian,
hier brauchst du folgenden Befehl, um dich auf den Container zu verbinden („bash“ gibt es hier nicht):
sudo docker exec -it searx sh
Gruß,
Jan
Hi Jan,
danke für die Antwort.
Im Container im Ordner /var/log/ befindet sich aber keine Log datei.
Oder Liegt die hier woanders ?
Hi,
hm, komisch. Was ergibt folgender Befehl:
docker logs searx
Gruß,
Jan
Es gibt eine ganze menge an Output. kann ich die den output in eine Datei umleiten ?
Hallo Bastian,
versuch es doch mal mit “ docker logs searx > datei.txt“.
Gruß,
Jan
Klappt alles nicht, ich glaube ich lösche den docker nochmal und mach es einfach neu.
Löschen des dockers geht so wie bei dem Tut zum OnlyOffice beschrieben ?
Hi Bastian,
genau, Container stoppen (stop), entfernen (rm) und dann sicherheitshalber noch ein „docker system prune -a“ hinterher.
Gruß,
Jan
Hallo Jan,
auch nach dem erneuten erstellen des Containers bleibt das problem vorhanden.
Hi Bastian,
mal ganz anderer Ansatz: Hast du auch auf einen Versions-Branch nach dem Clone gewechselt (git checkout tags/v0.15.0)? Mir ist nämlich aufgefallen, dass es z.T. Probleme gibt, wenn man einfach einen Container aus dem Master-Branch baut.
Gruß,
Jan
Ja genau so habe ich es gemacht
Hi Bastian,
das ist dann aber seltsam. Hast du nach dem Umstellen des Branches den Container mal gebaut/gestartet ohne die yml zu verändern?
Ansonsten bin ich da momentan etwas überfragt.
Gruß,
Jan
Hallo Jan,
ich muss mich glaube ich korrigieren, ich habe es exakt nach deiner Anleitung gemacht. Danach habe ich keine weiteren Änderungen vorgenommen.
Und zu deiner neuen Frage, habe auch schon das Config File unberührt gelassen.
Hi Bastian,
im Moment kann ich dir dann leider nicht sagen, warum der das Config-File nicht anzieht. Erfasse dazu doch doch bitte mal einen Issue im entsprechenden GitHub-Repository, vielleicht kann dir da weiter geholfen werden.
Gruß,
Jan
Hallo Jan,
sollte ich vileicht mal eine ältere version nehmen anstatt der neusten ?
Mit welcher Version hast du deine Erstinstallation gemacht?
Aber anscheinend bin ich hier der einzige der das problem hat.
Hi Bastian,
ja, das wundert mich ja auch. Diese Art des Fehlers konnte ich bisher noch nie beobachten.
Ich verwende die letzte Release-Version (also 0.15).
Auf was für einem System soll der Docker-Container gestartet werden? Ist hier irgend eine Virtualisierungs-Lösung (z.B. Proxmox) im Spiel?
Gruß,
Jan
Hi Jan,
Es sind VMs die auf meinem Freenas laufen. Der Searx Container läuft nach deiner Anleitung neben einer Nextcloud (die selbe VM).
Hi Bastian,
gibt es vielleicht irgendeine Einstellung, die im Virtualisierungs-System aktiviert werden muss, damit Docker-Container ausgeführt werden können?
Welches Virtualisierungs-System kommt zum Einsatz?
Gruß,
Jan
Hallo Jan,
Ich kann dir leider nicht sagen wie das Virtualisierungssystem von FreeNas heißt.
Hallo Jan,
ich habe es hinbekommen über die bestehende Nextcloud Instanz den 2. Ubuntu Container über ein Unterverzeichnis anzusprechen.
Falls es jemanden interessiert ich habe einfach die Datei (/etc/nginx/conf.d/meinedomain.de.conf) modifiziert und am Ende vor der letzten geschweiften Klammer folgendes eingefügt:
location /searx {
proxy_pass http://IP-ADRESSE:8888;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Scheme $scheme;
proxy_set_header X-Script-Name /searx;
proxy_buffering off;
}
Jetzt ist der Server dort einfach unter der meinedomain.de/searx erreichbar und man muss sich um das Zertifikatshandling DYNDNS nur ein mal Gedanken machen.
Zusätzlich habe ich noch die UFW auf dem Ubnuntu Container installiert mit folgenden Befehlen:
apt install ufw -y
ufw allow 8888/tcp
ufw allow 443/tcp
ufw allow 22/tcp
ufw logging medium
ufw default deny incoming
ufw enable
service ufw restart
Alles klappt wie es soll :D
Evtl interessiert es jemanden
Gruß Bernd
Hallo Bernd,
ja, genau so kann man die Searx-Instanz auch mit einem Unterverzeichnis realisieren.
Danke für deine Hinweise, ist sicherlich auch für andere interessant.
Wenn du magst, kannst du deine Instanz ja auch hier hinzufügen.
Gruß,
Jan
Hallo!
Ich versuche seit einiger Zeit searx auf meinem VPS zu installieren. Dieser wird per Plesk verwaltet, searx soll auf einer Subdomain laufen.
Die Installation funktioniert soweit. Wenn ich nun allerdings auf searx zugreifen will, lässt sich in den Logs von Plesk Docker Erweiterung folgender Fehlercode ablesen:
„INFO:werkzeug:172.17.0.1 – – [12/Jan/2020 00:14:48] „üP7àñ]¥MAäÈÐ4EgQ [=ñ!ÂYÓôLD½0 ~õsåmX óÀ`L×Lá»fãÇ_Ùuèd/¸“ººÀ+À/À,À0̨̩ÀÀ/5“ HTTPStatus.BAD_REQUEST –
ERROR:werkzeug:172.17.0.1 – – [12/Jan/2020 00:14:49] code 400, message Bad request syntax (‚\x16\x03\x01\x02\x00\x01\x00\x01ü\x03\x03\x8a§%\’\x0b¿g\x910wÔ\x05\x9f\x06\\\xa0\x8fðX\x06ù2\x80\x04\x91Á¼íæy´÷ µ\x1f\’\x1døpÏv\x9dËÎÊ\x9b\x7fNÿyk9%f\x02þr7Ãò\x00%\x1c\x80<\x00"ÊÊ\x13\x01\x13\x02\x13\x03À+À/À,À0̨̩À\x13À\x14\x00\x9c\x00\x9d\x00/\x005\x00')"
Konnte nach einiger längerer Suche keine Lösung dafür finden.
Hallo Nico,
bis auf das „Bad Request“ ist die Sache ja ziemlich kryptisch. Daher kann ich dazu jetzt gar nicht mal viel dazu sagen.
Zur Not einfach mal einen Issue im GitHub-Repository von searx aufmachen. Vielleicht sagt dem einen oder anderen dieser Fehler ja etwas.
Gruß,
Jan
Hallo Jan
Habe nach deiner Anleitung erfolgreich searx v0.15.0 umgesetzt.
Nachdem nun die v0.16.0 verfügbar ist habe ich versucht nach deiner Anleitung zu updaten.
Leider ist searx dann nicht erreichbar. Sehe gerade nicht wo das Problem liegt.
Bein builden der v0.16.0 ist folgende Warnung in rot vorhanden
WARNING: Ignoring APKINDEX.00740ba1.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.d8b2a6f4.tar.gz: No such file or directory
Ist das möglicherweise die Ursache des Problems?
Übrigens: Ein neu aufsetzen der v0.15.0 auf der gleichen Maschine funktioniert ohne Probleme.
Hallo Werner,
ja, da hat sich zur Version 0.16.0 etwas geändert: Der Docker-Container hört nun nur noch auf den Port 8080. Das muss man beim Setup berücksichtigen.
Ich habe den Artikel mal dahingehend angepasst.
Gruß,
Jan
…..und läuft.
Vielen Dank für den Hinweis.
Manchmal sieht man den Wald vor lauter Bäumen nicht ;-)
Hallo Jan,
ich bräuchte mal deine Hilfe oder einen heißen Tipp von dir. Ich habe schon länger eine searx Instanz auf meinem Server eingerichtet ( https://search.blankenberg.eu / ), alles funktioniert auch wunderbar, aber die Autovervollständigung funktioniert seit ein paar Wochen nicht mehr. Woran kann das liegen? Hast du da eventuell eine Idee?
Gruß
Jan
Hi Jan,
leider kann ich auch nur berichten, dass searx momentan nicht gerade gut funktioniert. Hier konnte ich auch beobachten, dass es vorkommen kann, dass Features auf einmal nicht mehr funktionieren. Das kann passieren, wenn die Search-Services z.B. ihre API ändern, oder searx-Instanzen blocken.
Leider kann man hier nicht viel tun.
Gruß,
Jan
Die Vermutung liegt nahe, aber andere Instanzen mit der gleichen Version laufen auf anderen Servern. Wenn sich etwas an den APIs von Google & co ändert, dann dürfte es ja bei niemandem mehr laufen.
Hi Jan,
OK, in diesem Fall würde ich mal in der Developer-Console im Browser nachsehen, ob hier irgendwelche Fehler angezeigt werden.
Gruß,
Jan
Hi Jan,
es geht wieder! Nach langem Suchen habe ich festgestellt, dass es eine CSP Einstellung im header war. Kleine Ursache, große Auswirkung…
Schönes Wochenende
Gruß,
Jan
Moin, nach der Neuistalltion von Nextcloud und Only Office habe ich mir jetzt auch wieder searx vorgenommen.
Doch leider lande ich nach der installation in einem „internal Server Error“
Hi Bastian,
dann erst einmal in das nginx-Log auf dem Host schauen. Wenn hier nichts erleuchtendes zu finden ist, dann mit dem nginx im Docker Container weiter machen.
Gruß,
Jan
hi, habe nochmal alles neuinstalliert und einfach mal die v.15 genommen und dann auch den Port 8888:8888 für den Container und in der nginix conf auch den proxy pass auch auf 8888 gesetzt.
Jetzt lade ich wenigstens schon mal auf einem bad Gateway.
Ich kann den Port 8080 ja nicht verwenden das parallel ja die nextcloud läuft.
Auf der lokalen ip und dem Port:8888 passiert gar nichts.
Hi Bastian,
du kannst auch einen anderen Port am Host nutzen, z.B.
docker run -d --name searx -p 8090:8080 --restart=always --log-driver none -e IMAGE_PROXY=True -e BASE_URL=https://searx.meindomain.de searx
Hier ist dann 8090 der Port am Host, der Port am Docker-Container bleibt weiterhin 8080. Der Host-Port muss dann natürlich im weiteren Verlauf beachtet werden.
Wegen des Bad Gateway: Da solltest du im nginx Log finden, was er hier versucht aufzurufen.
Gruß,
Jan
hi Jan,
ich sende dir einfach mal frech das error.log
ich habe es jetzt mal wieder mit de v 0.16 versucht – und lande nun wieder bei Internal Server Error. Starte ich den Docker neu und drücke durchgehend F5 – kommt für einen kurzen moment der Bad Gateway.
Die Error log findest du hier: https://apps.boche-online.de/nextcloud/s/553Mar6m84s6N9Z
Das wäre die adresse für die Cloud. https://searx.boche-online.de sollte dann in der Suchmaschiene enden.
Villeicht kannst du die Adressen aus dem Kommentar bei Freigabe entfernen.
Hi Bastian,
im Log sehe ich nur vom 14.05 viele „access forbidden by rule“. Das dürfte aber nicht dein aktuelles Problem sein.
Wenn die deine Searx-URL aufrufe, erhalte ich erst einmal eine Zertifikats-Warnung (Cert ist ausgestellt auf apps.boche-online.de). Das ist denke ich mal das erste Problem.
Wenn man diese Warnung dann ignoriert, erhält man nur die „plumpe“ Ausgabe „Internal Server Error“. Diese sieht so gar nicht nginx typisch aus, daher vermute ich mal, dass es sich dabei nicht um einen Fehler handelt, der von nginx verursacht wird, sondern innerhalb des Searx-Containers auftritt. Von daher mal hier die Logs checken.
Gruß,
Jan
Man da habe ich die Antwort total vergessen.
Ich denke mal das er bzgl des Cert. mekert ist erstmal nicht so schlimm.
Da muss ich einfach ein Zert ausstellen.
sudo docker exec -it searx sh
komme ich in den Container … aber wo finde ich die Log??
Hi Bastian,
im Artikel zeige ich, wie man searx ohne Logging betreibt (Datenschutz). Lass beim Starten des Containers mal folgendes weg:
--log-driver none
. Dann sollte der Container auch loggen (/var/log).Gruß,
Jan
Dann muss ich also den kompletten Container neu machen, damit ich ihn mit logs starten kann ? Kann ich ihn nicht je nach dem mit und ohne logs starten ?
Hi Bastian,
nein, den Container nur stoppen (docker stop…) und entfernen (docker rm…). Das Abbild des Containers ist ja noch da und kann wieder über einen neuen Befehl zum Starten hochgezogen werden.
Gruß,
Jan
OK – Aber ich bin immer noch auf dem Holzweg – Im Docker gibt es ja keinen editor – jedenfalls gibt es weder nano noch vim (diese lassen sich auch nicht installieren).
Hi Bastian,
ein „cat“ sollte hier ausreichen denke ich.
Gruß,
Jan
Hallo,
zuerst, ich bedanke mich für die tolle Tutorials überall.
Ich habe das Searx wie bei dem Tutorial installiert.
Das Searx befindet sich mit Nextcloud auf einen Server.
URL Searx: https://searx.domain.de
URL Nextcloud: https://store.domain.de
jetzt wenn ich die URL von Searx abrufe, bekomme ich die Zertifikatswarnung aber nicht von searx.domain.de, sondern von store.domain.de, obwohl ich eine Datei für searx.domain.de und eine für store.domain.de in /etc/nginx/conf.d/ mit verschiedener Zertifikate erstellt habe.
Wenn ich die IP abrufe http://ip:8090, bekomme ich den Fehler:
Internal Server Error.
Nextcloud funktioniert unter store.domain.de einwandfrei.
Der Docker Container wurde mit dem Befehl erstellt:
docker run -d –name searx -p 8090:8080 –restart=always -e IMAGE_PROXY=True -e BASE_URL=https://searx.domain.de searx
Ich habe keine LOG Datei von dem Docker Container unter /var/log/ gefunden.
Docker logs searx liefert:
searx version 0.16.0-unknown
Create /etc/searx/uwsgi.ini
Create /etc/searx/settings.yml
Listen on :8080
[uWSGI] getting INI configuration from /etc/searx/uwsgi.ini
Nginx Log zeigt keinen Fehler.
Was Soll ich tun, um die Fehler zu finden.
Vielen Dank
Hi,
die Zertifikats-Warnung zeigt, dass du am Nextcloud-vHost „rauskommst“. Also denke ich, dass das Problem hier nicht der Docker-Container ist, sondern die nginx-Konfiguration. Schau daher mal mit „nginx -T“ nach, ob der vHost für searx überhaupt geladen wurde.
Gruß,
Jan
Hallo nochmal,
danke für die Antwort,
ich habe das Zertifikatsproblem gelöst und jetzt lande ich auf „Internal Server Error“.
Wie auf immer, Nginx zeigt keinen Fehler und den Docker Container zeigt auch keinen.
Kann das sein, dass ich solche Python libraries installieren soll?
Warum kann ich die log Datei von Docker Container nicht finden?
Danke Nochmal
Hi,
ja, die Logs des Containers sind aus Gründen des Datenschutzes deaktiviert. Schau mal in diesen Kommentar-Thread, da erkläre ich, wie man die Logs im Container wieder aktiviert.
Gruß,
Jan
Hallo,
also, das habe schon mal gesehen.
In meinem ersten Kommentar steht schon den Docker Befehl, den ich ausgeführt habe:
„docker run -d –name searx -p 8090:8080 –restart=always -e IMAGE_PROXY=True -e BASE_URL=https://searx.domain.de searx“
Ist so richtig?
Der Befehl: docker container logs searx
liefert:
searx version 0.16.0-unknown
Create /etc/searx/uwsgi.ini
Create /etc/searx/settings.yml
Listen on :8080
[uWSGI] getting INI configuration from /etc/searx/uwsgi.ini
searx version 0.16.0-unknown
Use existing /etc/searx/uwsgi.ini
Use existing /etc/searx/settings.yml
Listen on :8080
[uWSGI] getting INI configuration from /etc/searx/uwsgi.ini
docker ps liefert:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4415727112e7 searx „/sbin/tini — /usr/…“ 58 minutes ago Up 52 minutes 0.0.0.0:8090->8080/tcp searx
fa8ed07724f4 collabora/code „/bin/sh -c ‚bash st…“ 10 days ago Up 2 hours 127.0.0.1:9980->9980/tcp COLLABORA
Danke
Hi,
da ist irgendwie nichts wirklich auffällig. Was sagt das nginx error-Log auf dem Docker-Host?
Ansonsten kannst du dich auch direkt auf der Console am Container anmelden, wie ich hier schon mal beschrieben habe. Dann kannst du das gesamte System untersuchen.
Gruß,
Jan
Hallo,
ich habe searx jetzt als Docker in einer eigene VM installiert.
Es läuft auch wunderbar – endlich wieder. Kann ich die settings.yml eigentlich auch später noch im Docker bearbeiten. in den Docker einloggen kann ich ja – nur gibt es dort kein nano und wohl auch keine option diesen zu installieren – oder ?
Hi Basitian,
Dateien direkt im Docker-Container würde ich nicht bearbeiten, da alle Änderungen ja nach einem Update verschwunden sind.
Besser ist es, wenn du die Settings außerhalb des Containers änderst und das Image dann neu baust. Das dauert ja auch nicht lange und Änderungen an den Settings wirst du ja auch nicht so häufig vornehmen.
Gruß,
Jan
Obwohl ich die Anleitung exakt befolgt habe seht bei mir „Betrieben mit searx – 0.18.0-unknown“
Wie bekomme ich das „unkown“ weg?
Hi,
dieses „unknown“ bekommt man eigentlich immer dann, wenn die Version nicht ermittelt werden kann. Sicher, dass du das richtige Tag mit der korrekten Version abgerufen hast?
Gruß,
Jan
Hallo,
durch Zufall bin ich auf das Thema „Searx“ gestoßen und der Reiz dafür einen eigenen Server zu verwenden ist groß.
Ups, Strg+Enter schickt also den Beitrag ab… Grummel
Eigenlich wollte ich noch schreiben, das mich die unterschiedlichen Suchergebnisse irritieren, die auftreten, wenn ich die Searx-Maschine der Entwickler unter „https://searx.info/search“ mit den Ergebnissen Eurer Suchmaschine vergleiche.Obwohl in den Einstellungen die gleichen Einträge ausgewählt sind, wie auf der Seite von searx.
Könnt Ihr zu den unterschiedlichen Ergebnissen etwas sagen?
LG
Mirko
Hi Mirko,
nein, leider nicht. Mir ist auch schon aufgefallen, dass die Suchergebnisse z.T. immer etwas anders sind, auch wenn man mehrfach das gleiche sucht.
Generell sind die Ergebnisse recht durchwachsen, weil z.T. bestimmte Suchdienste die IP des „Such-Servers“ blockieren, wenn darüber zu viele Suchanfragen über eine gewisse Zeit kommen.
Gruß,
Jan
Hallo Jan,
Danke für die Info, die sich offenbar mit dieser hier…
https://www.kuketz-blog.de/searx-dem-blocking-von-startpage-und-co-entgehen/
…deckt. Leider hat Kuketz seine Suchmaschine scheinbar entsorgt.
Vielleicht für Dich, sofern Du Dich damit weiter beschäftigen möchtest und Du das noch nicht ausprobiert hast, könnte „filtron“ die Antwort sein. Auch auf dieser Seite wird das Problem beschrieben, nur eben mit ner „Lösung“. https://www.21×9.org/de/searx.html
Ich hab das Ganze einmal via einer lokalen VM durchprobiert und bin mit den Ergebnissen die meine kleine Suchmaschine lieferte mehr als zufrieden. Nächster Schritt war/ist das Ganze auf einen VServer zu verfrachten, um ggf. Menschen aus meinem Umfeld daran teilhaben zu lassen. Hier stellte sich allerdings heraus, das die Installation nicht ganz so trivial ist. Meine Vorstellung war/ist das Ganze via Paketmanager zu lösen, um den Aufwand für das Aktualisieren gering zu halten. Pustekuchen. Das Paket aus den Ubuntuquellen (20.04) ist mal wieder veraltet (Searx 0.16), ein passendes aktuelles PPA bis jetzt nicht auffindbar.
Nun ist das Dingens via https://searx.github.io/searx/admin/installation-searx.html installiert, mit filtron und gleichzeitig auch mit einem „morty“-Proxy. Aktuell scheitere ich nur noch am Vhost für Apache und einem schönen LetsEncrypt.
Hi Mirko,
danke für deine Hinweise!
Leider fehlt mir momentan die Zeit, mich intensiver mit dem Thema auseinanderzusetzen. Meine Searx-Instanz ist noch online, aber ohne „Tricksereien“. Daran wird sich in naher Zukunft wohl leider auch nichts ändern.
Gruß,
Jan
Guten Abend
Versuche gerade auf einer aktuellen Debian 10 VM das v0.18.0 Image zu bauen. Dabei kommt es in mehreren Versuchen immer zu folgenden Abbruch.
=============================DEBUG ASSISTANCE=============================
If you are seeing a compilation error please try the following steps to
successfully install cryptography:
1) Upgrade to the latest pip and try again. This will fix errors for most
users. See: https://pip.pypa.io/en/stable/installing/#upgrading-pip
2) Read https://cryptography.io/en/latest/installation.html for specific
instructions for your platform.
3) Check our frequently asked questions for more information:
https://cryptography.io/en/latest/faq.html
4) Ensure you have a recent Rust toolchain installed:
https://cryptography.io/en/latest/installation.html#rust
5) If you are experiencing issues with Rust for *this release only* you may
set the environment variable `CRYPTOGRAPHY_DONT_BUILD_RUST=1`.
=============================DEBUG ASSISTANCE=============================
error: Can not find Rust compiler
—————————————-
ERROR: Failed building wheel for cryptography
Wo muss ich was einstellen? Wo kann ich die Variable setzen?
Da ich leider nicht so tief in Linux unterwegs bin wäre ich für jeden Tip dankbar.
ciao
Werner
Hi Werner,
sicher, dass du hier das Docker-Image baust und nicht die „Docker-lose“ Variante? Denn Fehlermeldungen dieser Art kenne ich vom Bauen des Docker-Images gar nicht.
Gruß,
Jan
Hallo Jan
Hangle mich an der Anleitung oben lang
cd /opt
rm -r searx
git clone https://github.com/asciimoo/searx.git
cd searx
git tag -l
git checkout tags/v0.18.0
Nehme dann Anpassungen an der settings.yml vor
und baue dann mit
docker build -t searx .
Der Fehler tritt übrigens auch ohne Anpassungen an der settings.yml auf.
Das letzte mal mit der 17 vor gefühlt einem halben Jahr hat das auch noch ohne Probleme geklappt.
ist mir grade eben auch aufgefallen, da scheint was mit dem docker image nicht mehr zu stimmen. Ich hab dazu auch das hier gefunden:
https://github.com/pyca/cryptography/issues/5771
Es scheint mit der Rust dependency von cryptography zu tun zu haben.
Ja, es hat tatsächlich damit zu tun, dass in der Dockerfile Alpine Linux zum Einsatz kommt. Ich werde die Tage ein issue auf deren github aufmachen, sollte eigentlich recht schnell zu beheben sein.
Danke für den Eintrag des Bugs im Git.
Habe soeben mit dem Master den Container ohne Fehler bauen können.
Der kann dann auch gestartet werden und läuft auch ohne Probleme.
Mit der v0.18.0 gibts aber nach wie vor den Fehler beim bauen.
Hallo nochmal
Seit ein paar Tagen gibts nun die v1.0.0
Diese lässt sich auch ohnen Probleme wie in der Anleitung beschrieben bauen.
ciao
Werner
Hi Werner,
ja, das habe ich gestern auch mitbekommen und meine Instanz gleich mal auf v1.0.0 gehoben.
Gruß,
Jan
Hallo Jan,
kann es sein, dass deine Instanz nicht mehr läuft?
https://searx.decatec.de/search
404 Not Found
Hi Jörg,
ja, die läuft aktuell nicht mehr. Ich war mit den Ergebnissen nie wirklich zufrieden. Mal sehen, ob sich da in den zukünftigen Versionen von Searx etwas ändert. Bis dahin bitte auf eine der anderen Instanzen ausweichen.
Gruß,
Jan
Ein Teil der Entwickler ist auch deiner Meinung und es gibt nun einen Fork: SearXNG. Hast du dir das schon angesehen? Die scheinen auch schneller zu entwickeln. https://github.com/searxng/searxng
Hi Marc,
ok, das ist interessant. Muss mal schauen, wann ich die Zeit finde, mit diesen Fork genauer anzusehen.
Auf jeden Fall danke für den Hinweis!
Gruß,
Jan
Hallo
komme leider nicht weiter und zwar hier:
docker build -t searx .
Command ‚docker‘ not found, but can be installed with:
snap install docker # version 20.10.14, or
apt install docker.io # version 20.10.12-0ubuntu4
apt install podman-docker # version 3.4.4+ds1-1ubuntu1
See ’snap info docker‘ for additional versions.
Hi Jeff,
hier fehlt denke ich noch die Installation von Docker selbst, siehe hier.
Danach kennt er dann auch den Docker-Befehl.
Gruß,
Jan