siloh.frLibre · Linux · Souveraineté Nous écrire

Libre & Linux

Logiciel libre & open-sourceLinux & distributionsAlternatives libres aux outils propriétairesLicences open-source & conformité

Infra & self-hosting

Self-hosting & services auto-hébergésCloud souverain & infrastructureServeurs, VPS & administration systèmeDevOps, conteneurs & automatisation

Sécurité & données

Cybersécurité open-sourceSauvegarde, stockage & confidentialité

Outils & IA

Outils développeurs open-sourceIA open-source & modèles locauxCMS, CRM & outils métiers libresCartographie libre & données ouvertesProductivité libre & collaboration

Stratégie

Souveraineté numérique & stratégie ITGuides de migration open-sourceArticles Nous écrire
Self-hosting & services auto-hébergés

Installer SearXNG chez soi : le guide complet pour rechercher avec plus de confidentialité

2026-04-2918 min

Installer SearXNG chez soi : le guide complet pour rechercher avec plus de confidentialité

SearXNG est un méta-moteur de recherche open source que vous pouvez installer chez vous pour agréger les résultats de plus de 70 services de recherche sans créer de profil publicitaire centralisé. Une installation SearXNG à domicile fonctionne simplement avec Docker, mais elle demande de contrôler l’accès réseau, les journaux et les mises à jour pour éviter de transformer un gain de confidentialité en service exposé par erreur.

Ce tutoriel montre comment préparer un ordinateur ou un petit serveur Linux, démarrer une instance locale, activer l’API JSON et limiter l’accès à votre réseau domestique. L’objectif est concret : obtenir un moteur de recherche personnel utilisable depuis un navigateur, sans promettre un anonymat total que ni votre réseau ni les moteurs interrogés ne peuvent garantir.

En bref

🔎 SearXNG est un méta-moteur auto-hébergé : il interroge plusieurs moteurs tiers et regroupe leurs résultats dans une interface unique.

🖥️ La documentation du projet indique un minimum de 512 Mo de RAM, avec 2 Go recommandés, un processeur 64 bits et environ 300 Mo de stockage pour le conteneur.

🔒 Une instance limitée au réseau local réduit l’exposition. Un port ouvert sur la box Internet ou une URL publique change complètement le niveau de risque.

⚙️ Docker simplifie le déploiement, mais l’auto-hébergement implique toujours des mises à jour, une vérification des logs et un arbitrage sur les moteurs activés.

Pourquoi installer SearXNG chez soi plutôt qu’utiliser un moteur classique ?

SearXNG est un moteur de recherche privé de type méta-moteur : il ne possède pas son propre index du Web, mais transmet une requête à des moteurs configurés puis agrège les résultats. Le projet est distribué sous licence AGPL et sa documentation présente SearXNG comme un outil de recherche sans suivi centralisé ; cette protection dépend toutefois de votre instance, de votre réseau et des moteurs externes interrogés.

Infographie des prérequis serveur pour installer SearXNG avec Docker.
SearXNG nécessite Linux 64 bits, 512 Mo de RAM au minimum et environ 300 Mo pour le conteneur.

Un moteur de recherche personnel évite surtout qu’un fournisseur unique associe toutes vos recherches à un même compte ou navigateur. Installer SearXNG chez soi donne le contrôle sur les moteurs activés, les paramètres de recherche et l’exposition réseau, pas une invisibilité absolue sur Internet. Les moteurs sollicités reçoivent encore des requêtes, et le gestionnaire de l’instance reste responsable des journaux, du proxy éventuel et des règles d’accès.

  • Confidentialité des recherches : l’interface SearXNG peut réduire le suivi centralisé et éviter les publicités intégrées.
  • Personnalisation : les catégories et moteurs peuvent être ajustés selon vos besoins, par exemple Web, actualités, images, science ou informatique.
  • API JSON : une sortie structurée permet d’utiliser SearXNG comme source de recherche Web pour une automatisation ou un agent IA local.
  • Contrôle d’exploitation : vous décidez où tourne le service et qui peut s’y connecter.

La confidentialité utile ne consiste pas à masquer une interface derrière un nom de domaine : elle commence par limiter les données collectées et l’accès au service.

Préparer l’installation de SearXNG à domicile

Une installation SearXNG sur serveur personnel peut tourner sur un ordinateur allumé, un mini-PC ou un serveur domestique. La documentation de SearXNG mentionne un processeur 64 bits, 512 Mo de mémoire vive au minimum, 2 Go recommandés et environ 300 Mo d’espace pour le conteneur Docker ; ces valeurs sont des seuils de démarrage, non une garantie de réactivité sous forte charge.

Le choix le plus simple consiste à réserver une machine Linux maintenue à jour sur le réseau local. Un Raspberry Pi récent ou un petit PC peut convenir pour un usage familial modéré, à condition que Docker soit compatible avec son architecture. Ne dimensionnez pas SearXNG uniquement sur la RAM : la latence dépend aussi des moteurs externes interrogés et de leur capacité à répondre.

Élément Prévu pour ce guide Pourquoi il est nécessaire Point de vigilance
Système hôte Linux 64 bits Exécuter Docker et Docker Compose Maintenir le système et Docker à jour
Mémoire vive 512 Mo minimum, 2 Go recommandés Démarrer le conteneur et absorber l’activité normale Les autres services du serveur consomment aussi de la mémoire
Stockage Environ 300 Mo pour le conteneur Conserver l’image et la configuration Prévoir davantage d’espace pour Docker et les sauvegardes
Réseau Adresse locale stable Accéder au service depuis les appareils autorisés Ne pas créer de redirection de port Internet par défaut

Prérequis logiciels à vérifier

Le guide utilise Docker Engine et le plugin Docker Compose sur une machine Linux. Vérifiez la présence des deux commandes avant de poursuivre ; une version trop ancienne de Compose ou une installation Docker incomplète est une cause classique d’échec au démarrage. Un éditeur de texte en terminal, comme nano ou vim, est aussi nécessaire pour modifier le fichier de configuration.

  1. Connectez-vous à la machine qui hébergera SearXNG avec un compte autorisé à utiliser Docker.
  2. Contrôlez que docker --version et docker compose version renvoient une version installée.
  3. Attribuez une adresse IP locale stable à la machine, via votre routeur ou la configuration réseau du système.
  4. Décidez dès maintenant si l’instance doit rester privée au réseau local ; ce guide part de ce choix prudent.

Une installation locale fonctionne sans nom de domaine et sans certificat TLS si elle reste dans un réseau domestique de confiance. Un accès extérieur mérite une architecture distincte : VPN personnel ou reverse proxy correctement configuré, authentification et chiffrement. Pour organiser plusieurs services privés sur la même machine, le guide consacré à l’auto-hébergement d’un cloud Nextcloud privé illustre les mêmes enjeux de contrôle et de maintenance.

Comment installer SearXNG étape par étape avec Docker ?

Pour installer SearXNG chez soi avec Docker, créez un dossier persistant, ajoutez une configuration minimale, puis démarrez le conteneur sur une adresse locale. Cette méthode sépare les réglages de l’image logicielle : les mises à jour du conteneur n’écrasent pas directement votre fichier settings.yml, à condition de sauvegarder ce dossier.

Schéma de l’installation SearXNG avec Docker sur un réseau local
Le conteneur SearXNG reçoit la recherche depuis le navigateur local, interroge les moteurs configurés puis renvoie les résultats au navigateur.

Étape 1 : créer le dossier persistant

Créez un répertoire dédié dans votre dossier personnel. Le sous-dossier config contiendra les réglages SearXNG ; il doit être sauvegardé avant toute modification importante. Exécutez la commande suivante dans le terminal de la machine hôte :

mkdir -p ~/searxng/config
cd ~/searxng

Le résultat attendu est un dossier ~/searxng contenant un répertoire config vide. Vérifiez son existence avec ls -la avant de passer à l’étape suivante.

Étape 2 : générer une clé secrète et créer settings.yml

La clé secrète protège des éléments internes de session. Générez une valeur aléatoire sur la machine hôte avec OpenSSL, puis copiez-la dans un fichier de configuration. Ne réutilisez ni un mot de passe personnel ni un exemple trouvé sur Internet.

openssl rand -hex 32

Créez ensuite ~/searxng/config/settings.yml et adaptez la ligne secret_key. La configuration ci-dessous active l’interface HTML et le format JSON pour une intégration locale, tout en conservant les paramètres standards du projet grâce à use_default_settings.

use_default_settings: true

server:
  secret_key: "COLLEZ_ICI_LA_CLE_ALEATOIRE"
  bind_address: "0.0.0.0"
  port: 8080

search:
  formats:
    - html
    - json

La clé secrète doit rester dans un fichier privé et ne doit jamais être copiée dans un dépôt Git, une capture d’écran ou un outil de partage. Le résultat attendu est un fichier YAML valide ; une indentation incorrecte suffit à empêcher le démarrage de SearXNG.

Étape 3 : créer le fichier Docker Compose

Dans ~/searxng, créez un fichier nommé compose.yml. Le service utilise l’image officielle searxng/searxng et monte le dossier local de configuration dans le conteneur. Remplacez l’adresse IP dans la publication de port par l’adresse locale fixe de votre serveur ; cette précaution évite d’écouter sur toutes les interfaces réseau.

services:
  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    restart: unless-stopped
    ports:
      - "192.168.1.50:8080:8080"
    volumes:
      - ./config:/etc/searxng:rw

La valeur 192.168.1.50 est un exemple privé : utilisez l’adresse réelle de votre serveur, sans la recopier telle quelle. Si vous ne connaissez pas cette adresse, arrêtez-vous ici et identifiez-la dans l’interface de votre routeur ou avec les outils réseau de votre système ; exposer 0.0.0.0:8080 est plus large et doit être un choix délibéré.

Étape 4 : démarrer SearXNG et vérifier le conteneur

Démarrez le service depuis le dossier contenant compose.yml. Docker télécharge l’image lors du premier lancement, ce qui peut prendre quelques minutes selon votre connexion.

docker compose up -d
docker compose ps

Le résultat attendu est un conteneur affiché comme actif. Si le statut n’est pas actif, consultez immédiatement les messages de démarrage avec la commande suivante ; ils indiquent généralement un problème YAML, une clé manquante ou un port déjà occupé.

docker compose logs --tail=100 searxng

Étape 5 : ouvrir l’interface depuis le réseau local

Depuis un appareil connecté au même réseau, ouvrez http://ADRESSE_LOCALE_DU_SERVEUR:8080 dans un navigateur. Une recherche simple doit afficher des résultats agrégés. Testez aussi le format JSON en ajoutant ?format=json à une requête de recherche, uniquement si l’interface a démarré correctement.

La réponse JSON est utile à une automatisation locale avec n8n, LangChain, Ollama ou une autre pile d’IA auto-hébergée. SearXNG fournit alors une recherche Web structurée, mais ne remplace ni un moteur d’indexation interne comme Elasticsearch ni une API commerciale enrichie avec toutes les fonctionnalités de données SERP.

Comment sécuriser SearXNG sans exposer son moteur de recherche personnel ?

Pour sécuriser SearXNG, gardez l’instance accessible uniquement depuis votre réseau local tant qu’un besoin distant n’est pas clairement défini. Ne créez ni redirection de port sur la box Internet ni exposition publique directe du port 8080 ; un moteur de recherche ouvert peut être utilisé par des inconnus et attirer du trafic que les moteurs sous-jacents limiteront ou bloqueront.

Schéma des accès recommandés pour sécuriser SearXNG à domicile
Le navigateur local accède à SearXNG sur le réseau domestique ; l’accès distant doit passer par un réseau privé plutôt que par une ouverture directe sur Internet.

Une protection cohérente sépare l’accès local, l’accès distant et l’exposition publique. Le bon réglage par défaut consiste à refuser l’accès Internet direct, puis à n’ajouter un accès distant qu’après avoir mis en place une couche d’authentification et de chiffrement adaptée.

  • Réseau local : liez le port Docker à l’adresse IP locale du serveur et évitez les règles de redirection sur le routeur.
  • Accès mobile : privilégiez un VPN personnel pour rejoindre votre réseau domestique avant d’ouvrir SearXNG dans le navigateur.
  • Publication volontaire : installez un reverse proxy HTTPS, une authentification et une limitation de débit avant toute exposition Internet.
  • Surveillance : consultez les logs Docker après un changement de configuration ou un comportement inattendu.

La documentation de SearXNG prévoit notamment des mécanismes de limitation et des réglages complémentaires pour les déploiements publics. Des composants comme Traefik ou Keycloak peuvent répondre à des besoins de reverse proxy et d’authentification, mais ils ajoutent de la charge d’administration ; ne les installez pas uniquement pour reproduire une architecture complexe si votre usage reste local.

Un accès distant sécurisé est un projet réseau à part entière ; il ne se résume pas à rendre le port 8080 joignable depuis Internet.

Tester, configurer et mettre à jour SearXNG

Une instance fonctionnelle doit être testée sur trois points : disponibilité de l’interface, qualité des résultats et absence d’exposition involontaire. Commencez avec quelques recherches courantes, vérifiez les catégories utiles et consultez les journaux du conteneur si certains moteurs renvoient peu ou pas de résultats.

La page de préférences SearXNG permet de choisir les moteurs et catégories adaptés à votre usage. Activez progressivement les services plutôt que de cocher toutes les options : plus de moteurs peut améliorer la diversité, mais augmente aussi les délais de réponse, les échecs temporaires et les limites imposées par les fournisseurs interrogés.

Personnaliser les moteurs sans dégrader la fiabilité

Retirez les moteurs qui répondent rarement ou qui ne correspondent pas à vos recherches. Une configuration sobre avec quelques sources généralistes, une source d’actualités et une catégorie technique est souvent plus prévisible qu’une liste très large. SearXNG peut interroger de nombreux services, mais aucun méta-moteur ne contrôle la disponibilité ou les règles de tous les moteurs en amont.

Mettre à jour SearXNG sans perdre les réglages

Avant une mise à jour, sauvegardez le dossier ~/searxng/config, puis relevez la version et l’état actuel du conteneur. Téléchargez ensuite l’image mise à jour et recréez le service depuis le dossier de déploiement :

cd ~/searxng
docker compose pull
docker compose up -d
docker compose ps

Après la mise à jour, ouvrez l’interface et relisez les journaux. Les paramètres évoluent au fil des versions : la documentation officielle de SearXNG et les notes de version du projet sont la référence à consulter avant d’appliquer une modification majeure de configuration.

SearXNG est-il adapté à votre usage et à vos agents IA ?

SearXNG convient à une personne ou une petite équipe qui veut un moteur de recherche personnel, configurable et intégré à son réseau. Son API JSON peut alimenter un agent IA ou un pipeline RAG avec des résultats Web récents, mais l’intégration doit limiter les requêtes et traiter les résultats comme des sources à vérifier, pas comme des réponses fiables par nature.

Une installation SearXNG à domicile est pertinente si vous acceptez la maintenance minimale d’un service Docker. Un usage faible à modéré limite aussi les risques de restrictions des moteurs externes. Les CAPTCHA, la rotation de proxies et les limitations imposées par certains fournisseurs ne sont pas gérés automatiquement par SearXNG ; ne contournez pas ces protections.

Utiliser l’API JSON avec prudence

Une application locale peut interroger une recherche SearXNG en demandant le format JSON, puis traiter les titres, liens et extraits obtenus. L’API facilite l’automatisation, mais elle n’évalue pas la qualité des sources, n’élimine pas les contenus trompeurs et ne remplace pas un contrôle éditorial dans une chaîne IA.

Pour un agent IA, la bonne pratique consiste à limiter les requêtes, journaliser le minimum nécessaire et conserver les liens sources afin de vérifier les réponses produites. Cette logique réduit la charge sur les moteurs interrogés et rend les résultats plus auditables.

Quelles alternatives à SearXNG selon le besoin ?

SearXNG n’est pas la bonne réponse à toutes les recherches. DuckDuckGo convient à un usage immédiat sans maintenance, mais vous déléguez l’infrastructure à un service tiers. Brave Search propose également une approche centrée sur la confidentialité, avec ses propres choix techniques et son propre index. Une API de recherche gérée est plus adaptée si une application exige un contrat de service, des volumes élevés ou des résultats enrichis.

Option Atout principal Limite principale À privilégier si
SearXNG auto-hébergé Contrôle de l’instance et des moteurs Maintenance et dépendance aux moteurs interrogés Vous maîtrisez Docker et souhaitez un usage privé
DuckDuckGo Utilisation immédiate sans serveur Infrastructure et règles gérées par un tiers Vous cherchez une alternative simple sans auto-hébergement
Brave Search Moteur distinct avec une approche de confidentialité Personnalisation d’infrastructure limitée pour l’utilisateur Vous voulez un service prêt à l’emploi
API de recherche gérée Intégration applicative et exploitation déléguée Coût récurrent et dépendance au fournisseur Votre application requiert volume, support ou données enrichies

Le coût de licence de SearXNG est nul, mais son coût total ne l’est pas nécessairement : machine, électricité, stockage, sauvegardes et temps de maintenance comptent. Une API gérée peut donc être plus rationnelle pour un produit à forte charge ; à l’inverse, un SearXNG local reste cohérent pour une recherche personnelle ou une petite automatisation maîtrisée.

Erreurs fréquentes lors de l’installation de SearXNG

Les problèmes rencontrés lors de l’installation SearXNG viennent plus souvent de l’environnement que du moteur lui-même. Corriger ces points dès le départ évite une instance inaccessible, un service publiquement exposé ou des résultats instables.

  • Copier une adresse IP d’exemple : le port Docker ne se lie pas au bon serveur. Remplacez toujours l’adresse utilisée dans compose.yml par celle de votre machine.
  • Oublier la clé secrète : une valeur faible ou publique fragilise les sessions. Générez une clé longue et stockez-la hors de vos dépôts de code.
  • Ouvrir le port 8080 sur Internet : l’instance devient exploitable par des tiers. Gardez l’accès local ou utilisez un VPN personnel pour l’accès distant.
  • Modifier le YAML sans vérifier l’indentation : le conteneur peut échouer au démarrage. Consultez docker compose logs après chaque changement.
  • Activer trop de moteurs : les délais et les erreurs peuvent augmenter. Commencez avec une sélection limitée, puis ajustez selon les résultats.

En cas de doute sur une exposition publique ou une activité anormale, arrêtez le conteneur avec docker compose down, supprimez toute redirection de port non nécessaire et vérifiez les règles du routeur. Pour une situation individuelle, notamment si un service a été exposé avec des données sensibles, demandez conseil à un professionnel compétent ou consultez les recommandations de l’organisme national de cybersécurité de votre pays.

À retenir

  • 🔎 SearXNG agrège plusieurs moteurs sans devenir un index Web autonome.
  • 🖥️ Docker facilite l’installation, mais pas la maintenance ni la sécurisation.
  • 🔒 Limitez d’abord l’accès au réseau local et évitez toute ouverture Internet directe.
  • ⚙️ Sauvegardez le dossier de configuration avant chaque mise à jour.
  • 📊 L’API JSON est utile aux automatisations, sous réserve de vérifier les sources retournées.

Installer SearXNG chez soi a du sens si vous recherchez davantage de contrôle sur votre outil de recherche et si vous acceptez son exploitation technique. Commencez localement, gardez la configuration simple, puis n’élargissez l’accès qu’après avoir évalué les conséquences réseau et les besoins réels.

Questions fréquentes sur SearXNG à domicile

SearXNG rend-il les recherches totalement anonymes ?

Non. SearXNG réduit le suivi centralisé et peut masquer l’adresse IP de l’utilisateur vis-à-vis des moteurs interrogés selon l’architecture retenue, mais votre fournisseur d’accès, votre réseau, votre navigateur et les moteurs externes restent des facteurs de confidentialité. Une configuration locale ne garantit donc pas l’anonymat absolu.

Schéma de sécurité réseau pour un moteur de recherche personnel SearXNG.
L’accès local est le réglage prudent ; un accès distant demande un VPN ou une protection HTTPS complète.

Peut-on installer SearXNG sans serveur dédié ?

Oui. SearXNG peut tourner sur un ordinateur Linux existant, un mini-PC ou un serveur domestique compatible Docker. La machine doit rester allumée lorsque vous voulez utiliser le service et disposer de ressources suffisantes pour SearXNG comme pour les autres services présents.

Faut-il un nom de domaine pour utiliser SearXNG chez soi ?

Non. Une adresse IP locale et le port choisi suffisent pour un usage dans le réseau domestique. Un nom de domaine devient utile seulement si vous mettez en place un accès distant via un reverse proxy HTTPS, ce qui impose des mesures de sécurité supplémentaires.

Comment accéder à SearXNG depuis un téléphone ?

Un téléphone connecté au même Wi-Fi peut ouvrir l’adresse locale du serveur dans son navigateur. Depuis l’extérieur, un VPN personnel vers votre réseau domestique est généralement plus prudent qu’une exposition directe du service sur Internet.

Pourquoi certains résultats ou moteurs disparaissent-ils ?

SearXNG dépend des moteurs qu’il interroge et de leurs règles techniques. Un moteur peut limiter temporairement les requêtes, modifier son fonctionnement ou répondre lentement ; désactivez les sources instables et consultez les journaux avant de conclure à une panne générale.

Version PDF à téléchargerEmportez l'essentiel de cet article au format PDF.

Télécharger le PDF

Laisser un commentaire