
Selfhosting: SearXNG als private Suchmaschine im heimischen Netzwerk mit Docker
Da mir das Selfhosting mittlerweile immer mehr Spaß bereitet, probiere ich nach und nach mehr aus. Vor kurzem bin ich auf SearXNG aufmerksam geworden. SearXNG ist eine Meta-Suchmaschine, die viele andere Suchmaschinen wie z.B. Google, Yahoo, Bing und weitere abfragt.
Auch Reddit, mastodon users, Lemmy, SoundCloud und vieles weitere kann in den Such-Einstellungen von SearXNG aktiviert werden. Dabei setzt SearXNG auf Privatsphäre, verzichtet auf Tracking sowie jegliches Sammeln persönlicher Daten und ist Open Source. Diese Meta-Suchmaschine kann sehr einfach auf dem eigenen Server, z.B. einem VPS, aber auch auf einem Raspberry Pi im lokalen Netzwerk oder auch auf dem eigenen PC installiert werden.
Das musste ich natürlich ausprobieren! Also habe ich SearXNG bei mir im heimischen Netzwerk installiert und eine kleine Anleitung geschrieben. Voraussetzung ist hier wieder ein Raspberry Pi 4B mit minimalem PI OS bzw. ein NUC mit Debian 12. Docker ist bereits installiert (siehe "Docker und Portainer in wenigen Schritten unter Debian und Raspberry Pi installieren").
Zuerst das Terminal öffnen und per SSH mit Usernamen (XXXXX)/Passwort einloggen:
ssh XXXXX@192.168.0.91
oder wie in meinem Fall:
ssh XXXXX@test.local
Nun ein neues Verzeichnis für SearXNG erstellen, der Name kann beliebig gewählt werden:
mkdir ~/searxng
In dieses Verzeichnis wechseln:
cd ~/searxng
Nun die Datei docker-compose.yml erstellen:
nano docker-compose.yml
In die docker-compose.yml nun folgendes eintragen (Port 8888 sowie die IP ist beispielhaft):
services:
searxng:
image: searxng/searxng:latest
container_name: searxng
restart: unless-stopped
ports:
- "192.168.0.91:8888:8080"
volumes:
- ./searxng-data:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=http://192.168.0.91:8888/
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- DAC_OVERRIDE
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
default:
name: searxng_network
Speichern (Strg + O, Enter) und den Editor schließen (Strg + X).
Nun SearXNG aus dem Verzeichnis ~/searxng starten:
docker compose up -d
Danach kann SearXNG schon über http://192.168.0.91:8888 aufgerufen werden bzw. über http://test.local:8888.

Und das war es auch schon. Ich empfehle, rechts oben (Zahnrad) die Einstellungen durchzuschauen und schon hat man eine ganz eigene und sehr mächtige, privatsphären-respektierende, selbstgehostete Suchmaschine.

Um SearXNG zu updaten, einfach wieder aus dem Verzeichnis ~/searxng
docker compose pull
Danach den Container stoppen:
docker compose down
und mit:
docker compose up -d
wieder starten.