Ghostboard pixel

Neues Projekt, eine Suchmaschine ist es nun

Ihr meint bestimmt ich bin bekloppt. Ich hab gestern auf meinem Server eine Suchmaschine installiert und nutze diese nun für Desktop und Mobile. Gefunden auf Github. Ich habe seit langem startpage.com genutzt als Suchmaschine, da aber diese durch eine russische Firma übernommen wurde, habe ich mich nach einer Alternative umgesehen.

Diese habe ich gefunden und kann nun genutzt werden.

suche.dasnetzundich.de

wer möchte, kann auch die Suchmaschine zu Firefox Mobile hinzufügen.

(iOS)

Firefox öffnen und unter Einstellungen den Menüpunkt „Suche“ auswählen. Weiter unten im Bildschirm „Suchmaschine hinzufügen“ auswählen. Dann im oberen Feld einen Namen eingeben  und im unteren die Adresse eintragen:

https://suche.dasnetzundich.de/search?q=%s

Dann noch abspeichern und nun sollte die Suche verfügbar sein.

Alternativ kann diese auch selbst betrieben werden und ich erkläre wie.

Searx ist eine Opensource Plattform und nutzt zahlreiche Backends für die Suche. Diese Backends können nach belieben eingestellt werden. Dabei sind natürlich Google, Duckduckgo, Bing, startpage, Wikipedia u.v.m. Voreingestellt von mir ist DuckDuckGo. Wenn die Suche läuft, kann diese auch von Firefox (Desktop) als Suchmaschine genutzt werden.

Google klappt nicht immer, weil Google die Suchanfragen beim zweiten mal blockt. Es gibt dafür eine Lösung und wird wohl mit dem nächsten Update kommen. So verstehe ich das zumindest bei GitHub.

Die Suchmaschine bietet eine Suche für Bilder, Videos, Wiki, IT, Musik, News usw. an. Aufgesetzt habe ich diese in relativ einfachen Schritten mit Docker.

Das Setup

Als Erstes muss der Quellcode geladen werden.

Searx herunterladen

cd /usr/local
git clone https://github.com/asciimoo/searx.git
cd searx

Jetzt nach der neusten Version schauen. Aktuell ist es die 0.15.0. Diesen Schritt kann man sich aktuell sparen. Nur zu Dokumentationszwecken.

git tag -l

Dann wird die letzte Version geladen.

git checkout tags/v0.15.0

Einstellungen anpassen

Um eventuelle Änderungen zu machen, an der Sprache, Name der Suchmaschine muss die Settings.yml editiert werden. Ist eigentlich selbsterklärend.

nano /opt/searx/searx/settings.yml

Wer nichts editieren möchte, kann alles so belassen, aber der secretkey sollte geändert werden.

sed -i -e "s/ultrasecretkey/`openssl rand -hex 32`/g" /opt/searx/searx/settings.yml

Jetzt kann das Image erstellt werden und anschließend gestartet werden.

docker build -t searx .

docker run -d --name searx -p 8888:8888 --restart=always --log-driver none -e IMAGE_PROXY=True -e BASE_URL=https://searx.meindomain.de searx

Zur Erklärung:

—name searx Damit wird dem laufenden Container ein Name gegeben.

-p 8888:8888 Mit dieser Portangabe wird der Container von außen erreichbar.

--log-driver none mit dieser Einstellung werden keine Logs aufgezeichnet. (docker logs  zeigt nichts mehr an).

-e IMAGE_PROXY=True aktiviert die Proxy Funktion für die Bildersuche. So werden die Bilder nicht direkt durch den Client-Browser abgerufen, sondern durch Searx selber.

-e BASE_URL= damit wird die Domain angegeben für die Suchmaschine.

Nginx konfigurieren

Damit in meinem Fall Nginx weiß wie er die Subdomain auf den Port umleitet wird folgende Nginx config benötigt.

nano /etc/nginx/conf.d/searx.meinedomain.de.conf
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:8888;
                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;
        }
}

Danach Nginx neu starten

service nginx restart

Ab sofort sollte eure Suchmaschine unter der Adresse erreichbar sein.

Update machen

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.15.0
docker build -t searx .
docker run -d --name searx -p 8888:8888 --restart=always -e IMAGE_PROXY=True -e BASE_URL=https://searx.meindomain.de.de searx

Traut euch, es wird nichts mitgeloggt auf meinem Server.

Weitere Information unter Github

Quelle: decatec.de