OSFRIA Découvrir les outils

OSIALab · Recherche IA

SearXNG — un méta-moteur de recherche privé à héberger soi-même

SearXNG agrège les résultats de plusieurs moteurs de recherche (Google, Bing, DuckDuckGo, Brave…) sans tracer l'utilisateur. Hébergeable en quelques minutes avec Docker, il est la couche de recherche de nombreux outils IA locaux.

Cette page est informative et sans valeur de conseil. SearXNG interroge des moteurs de recherche tiers — vos requêtes leur parviennent de façon anonymisée, mais pas entièrement invisible. Lisez les précautions ci-dessous.

À quoi ça sert

SearXNG est un méta-moteur : il soumet votre requête à plusieurs moteurs de recherche en même temps et agrège les résultats. Pas de compte, pas de profil publicitaire, pas de pistage. Il s'utilise seul (comme moteur de recherche personnel) ou en couche sous-jacente d'outils IA comme Perplexica. C'est la brique de recherche web de référence dans l'écosystème IA open source.

Pour qui

Pour toute personne soucieuse de sa vie privée lors des recherches web, ou souhaitant une couche de recherche locale pour alimenter des outils IA. L'installation avec Docker est accessible même sans compétences avancées en administration système.

Installation

Via Docker (recommandé)

docker run -d \
  --name searxng \
  -p 8080:8080 \
  -v ./searxng-config:/etc/searxng \
  -e SEARXNG_HOSTNAME=localhost \
  searxng/searxng

SearXNG est ensuite accessible sur http://localhost:8080.

Via Docker Compose (pour une installation permanente)

git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker

# Adapter le fichier .env selon vos besoins
cp .env.example .env
nano .env

docker compose up -d

Configuration des moteurs

Le fichier settings.yml dans le dossier de configuration permet d'activer ou désactiver des moteurs, de choisir les catégories par défaut, et d'ajuster l'interface.

# Activer la recherche JSON (utile pour les pipelines IA)
# Dans settings.yml, sous "server" :
server:
  secret_key: "votre_clé_secrète_aléatoire"
  limiter: false          # Désactiver si usage en pipeline local
  image_proxy: true

Utiliser l'API JSON (pour les pipelines IA)

# Exemple de requête API
curl "http://localhost:8080/search?q=ia+locale&format=json"

Précautions d'usage

  • SearXNG anonymise mais n'est pas un VPN. Vos requêtes partent depuis votre adresse IP (ou celle de votre serveur) vers les moteurs tiers. SearXNG ne révèle pas votre identité aux moteurs, mais votre fournisseur d'accès peut voir que vous contactez ces moteurs via SearXNG.
  • N'exposez pas SearXNG publiquement sans précaution. Une instance ouverte peut être utilisée comme relais de spam ou subir des abus de requêtes. Protégez l'accès si vous l'exposez sur internet.
  • Les résultats dépendent des moteurs tiers. SearXNG n'a pas son propre index. Si Google ou Bing modifient leur API, des sources peuvent disparaître ou des erreurs apparaître.
  • Licence. SearXNG est sous licence AGPL v3+. Si vous modifiez le code et proposez le service à des tiers, vous devez publier vos modifications.

Matrice de risque

Risque Niveau Mitigation
Traçage par les moteurs de recherche tiers 🟢 Faible — anonymisé par SearXNG Héberger sur un serveur dédié ; utiliser un VPN pour l'adresse IP sortante
Instance exposée publiquement sans protection 🔴 Élevé Protéger avec un reverse proxy et une authentification ou restriction IP
Résultats biaisés ou de mauvaise qualité selon les moteurs actifs 🟡 Moyen Configurer les moteurs activés selon vos besoins ; croiser les sources
Obligation AGPL si modification et diffusion 🟡 Moyen Publier les modifications si vous proposez SearXNG modifié à des tiers

Sécurité

SearXNG est un service auto-hébergé — votre responsabilité en matière de sécurité :

  • Générez une clé secrète forte. Le champ secret_key dans settings.yml doit être une chaîne aléatoire longue. Utilisez openssl rand -hex 32 pour en générer une.
  • Restreignez l'accès. Si l'instance est sur un serveur exposé, utilisez un reverse proxy (Nginx, Traefik) avec authentification ou restriction par IP.
  • Mettez à jour régulièrement. docker compose pull && docker compose up -d pour rester à jour.

Aller plus loin

  • Perplexica — utilise SearXNG comme moteur de recherche et ajoute une couche LLM.
  • Ollama — associer SearXNG à un LLM local pour un assistant de recherche privé.
  • Souveraineté et données — pourquoi héberger ses propres outils de recherche.
  • OSIALab — tous les outils de recherche IA.

Sources