Illustration IA d'un moteur de recherche privé auto-hébergé, ambiance tech sombre

Héberger ton moteur de recherche privé avec SearXNG

Installe SearXNG, la métarecherche open source qui agrège les résultats de dizaines de moteurs sans te suivre, puis reprends le contrôle de tes recherches.

Tu tapes « recette du dimanche », et Google te file des pubs, des encadrés "map" et une bonne dose de suivi. Chercher sur le web sans te faire profiler, c'est possible : il suffit d'héberger ton propre moteur de recherche. Dans ce tuto, tu vas installer SearXNG, une métarecherche libre qui agrège les résultats de plein d'autres moteurs sans te suivre, en quelques commandes Docker.

SearXNG, c'est un programme open source (AGPL) qui interroge à ta place une dizaine de moteurs — Google, Bing, DuckDuckGo, Wikipedia, et bien d'autres — puis fusionne les résultats dans une seule page. Toi seul vois ta requête ; l'historique reste chez toi, pas dans les serveurs d'une grosse boîte. On monte tout ça en une dizaine de minutes sur un serveur Linux avec Docker.

De quoi tu as besoin

  • Un serveur Linux (Debian, Ubuntu, Raspberry Pi OS…) avec Docker et Docker Compose installés
  • Un nom de domaine ou un sous-domaine si tu veux y accéder depuis l'extérieur (optionnel pour du local)
  • Un peu de patience pour le téléchargement des images au premier lancement

Étape 1 — Créer le dossier du projet

SearXNG fournit un gabarit Docker Compose officiel, préconfiguré avec un cache Valkey. Crée un dossier de travail et récupère les fichiers de base :

mkdir -p ~/searxng/core-config
cd ~/searxng
curl -fsSL -O https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml
curl -fsSL -O https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
cp -i .env.example .env

Le fichier docker-compose.yml décrit les services à lancer. Le fichier .env contient les réglages (domaine, clé secrète). Tu vas remplir les deux dans les étapes suivantes.

Étape 2 — Configurer les variables

Ouvre le fichier .env dans un éditeur (nano, vim…). Les deux valeurs importantes :

  • SEARXNG_BASE_URL : l'adresse publique de ton instance, par exemple https://recherche.tondomaine.fr
  • SEARXNG_SECRET : une longue chaîne aléatoire qui protège les cookies et la config ; génère-la avec openssl rand -hex 32
nano .env
# SEARXNG_BASE_URL=https://recherche.tondomaine.fr
# SEARXNG_SECRET=une-longue-chaine-aleatoire

Étape 3 — Lancer les services

Une fois le .env rempli, démarre la pile en arrière-plan :

cd ~/searxng
docker compose up -d

Au premier lancement, Docker télécharge les images searxng-core et searxng-valkey. Le serveur web expose alors l'interface sur le port 8080 de ta machine.

Vérifie que les deux conteneurs tournent :

docker compose ps

Tu dois voir deux lignes avec l'état Up : searxng-core et searxng-valkey.

Capture d'écran de la page d'accueil de SearXNG, interface de métarecherche

Source : Wikimedia Commons

Étape 4 — Ouvrir l'interface

Depuis la machine ou en local, pointe ton navigateur sur http://localhost:8080. Tu arrives sur la page d'accueil de SearXNG avec sa barre de recherche. Tape n'importe quoi : les résultats agrégés des moteurs configurés s'affichent dans une page épurée, sans pub ni suivi.

Étape 5 — Personnaliser le moteur

Les moteurs interrogés se règlent dans le fichier core-config/settings.yml, créé au premier démarrage. Tu peux activer ou désactiver des sources, choisir le moteur par défaut et le nombre de résultats par page. Après une modification, recharge le service :

docker compose restart core

Vérifier que ça fonctionne

Trois contrôles simples confirment que tout roule :

  • docker compose ps affiche deux services Up
  • http://localhost:8080 répond et affiche la barre de recherche
  • Une recherche retourne des résultats mélangeant plusieurs moteurs, preuve que l'agrégation marche
curl -s http://localhost:8080/ | head -20

Limites et pièges

SearXNG n'est pas magique. Les gros moteurs détectent parfois les requêtes automatisées et renvoient des captchas, ce qui peut vider certains résultats. La limiter (l'outil anti-abus inclus) protège l'instance mais peut ralentir les recherches. Et si tu exposes l'instance sur Internet, passe impérativement derrière un reverse proxy HTTPS (Caddy, Nginx) et active l'authentification si tu es seul à l'utiliser : un moteur de recherche public, c'est un serveur ouvert à tous.

Alternative plus simple pour débuter : l'instance publique de SearXNG, que tu peux utiliser sans rien héberger. Mais tu n'y contrôles ni les moteurs ni la config, et ta requête transite par un serveur tiers. L'intérêt de tout héberger, c'est justement la maîtrise.

Toujours dans l'idée de reprendre la main sur tes outils, tu peux aussi héberger ton propre gestionnaire de mots de passe avec Vaultwarden.Voir le tuto Vaultwarden.

Sources

La documentation officielle de SearXNG décrit pas à pas l'installation en conteneur.

Le dépôt GitHub du projet centralise le code source et les gabarits Docker.



Recherche, relecture et illustration assistées par IA. Le contenu reflète le travail éditorial de la rédaction.

No comments yet