La mascotte ours polaire de NordBastion assise sur un banc de pierre devant une grande interface de recherche holographique cyan avec une barre de requête.
How-to · 20 min pratique·Mis à jour 2026

Auto-héberger SearXNG sur un VPS.
Votre propre méta-recherche privée, 70+ sources upstream.

SearXNG interroge Google, Bing, DuckDuckGo, Wikipedia et soixante-dix autres — sans jamais dire à aucun d'eux qui demande. Trois commandes Docker, un reverse proxy, un bookmarklet — et le moteur de recherche par défaut de chaque navigateur dans votre foyer vous appartient.

En résumé
  • 01

    SearXNG est un front-end de méta-recherche — pas d'index propre ; les requêtes sont diffusées vers 70+ moteurs upstream et agrégées. Entièrement auto-hébergé signifie que personne d'autre ne voit vos recherches.

  • 02

    Le défi structurel est la réputation des IP upstream — les IP de datacentre se heurtent à des CAPTCHA. Atténuez avec une diffusion multi-moteurs, des limites de débit modestes et un hébergeur dont l'espace d'IP ne figure pas dans la cartographie des abus.

  • 03

    La valeur composée, c'est tout ce que vous pouvez construire par-dessus — recherche IA Perplexica, intégration comme navigateur par défaut, alias de recherche personnalisés — le tout adossé à votre SearXNG privé.

Chapitre 1

Ce qu'est réellement SearXNG. Méta-recherche, pas recherche.

SearXNG est une application Python qui, lorsque vous soumettez une requête, la diffuse en parallèle vers de nombreux moteurs de recherche upstream — Google, Bing, DuckDuckGo, Brave, Mojeek, Wikipedia, GitHub, arXiv, IMDb, Reddit, des dizaines d'autres selon la configuration — et fusionne les résultats en une liste classée avec déduplication et attribution des sources. Il n'a pas son propre crawler ni son propre index ; la valeur est l'agrégation plus le proxy de confidentialité.

Du point de vue de l'utilisateur : vous tapez une requête, vous obtenez des résultats qui ressemblent à une page de recherche normale. Du point de vue de l'upstream : une requête est arrivée depuis l'IP de l'instance SearXNG, sans cookies, sans référent, sans identifiant utilisateur. De votre point de vue : l'instance SearXNG n'enregistre jamais vos recherches (configuration par défaut), et même si elle était compromise, elle ne détient aucun profil de recherche historique à divulguer.

Catégories au-delà du web : SearXNG prend en charge nativement la recherche d'images (sur plusieurs moteurs), vidéo, actualités, cartes, sciences, fichiers (indices BitTorrent, FTP), réseaux sociaux. La page de résultats comporte des onglets pour chacun. Le routage par catégorie signifie que vous pouvez exécuter un profil de recherche « code uniquement » qui interroge seulement GitHub, GitLab et SourceGraph, ou un profil « actualités uniquement », ou autre chose.

La fonctionnalité phare pour un lecteur soucieux de sa vie privée : SearXNG expose une API JSON. Tout ce qui a besoin de résultats de recherche — un lanceur de bureau, une commande CLI, un chatbot, un agent IA — peut appeler votre SearXNG au lieu de Google. Cela transforme SearXNG d'un moteur de recherche en backend de recherche pour toute votre chaîne d'outils.

Chapitre 2

Le mur de réputation d'IP. Pourquoi les IP hyperscaler se heurtent à des CAPTCHA.

Les moteurs de recherche upstream se protègent contre les scrapers en limitant le débit et en bloquant par CAPTCHA le trafic provenant d'IP qu'ils considèrent abusives. Les plages hyperscaler (AWS, GCP, Azure, DigitalOcean, les plus grands pools Hetzner et OVH) sont les plus bloquées, car ce sont là que tournent la plupart des scrapers. Le résultat : SearXNG sur un AWS Lightsail commence à renvoyer des résultats Google vides en dix requêtes, tandis que le même SearXNG sur une IP de datacentre moins sollicitée tourne des mois sans problème.

Atténuation 1 — choisir l'hébergeur avec soin. Un VPS NordBastion se situe dans des datacentres nordiques dont les plages d'IP ne figurent pas dans la cartographie habituelle des abus de scrapers. Les plages plus petites et moins sollicitées signifient que l'IP bénéficie d'une réputation neutre, ce qui est exactement ce dont SearXNG a besoin côté upstream.

Atténuation 2 — diffuser agressivement. Éditez settings.yml pour activer de nombreux upstreams : pas seulement Google + Bing, mais aussi Brave, Mojeek, Qwant, Startpage, Marginalia, ainsi que les spécifiques par catégorie (Wikipedia, GitHub, Reddit). Plus vous activez d'upstreams, moins chacun voit de trafic, moins l'un d'eux risque de commencer à limiter le débit.

Atténuation 3 — limiter le débit de vos propres utilisateurs. SearXNG dispose de limites de débit par IP intégrées (limiter.toml). Ajustez-les pour qu'un seul utilisateur ne puisse pas générer accidentellement du trafic ressemblant à du scraping. Les 10 req/min par défaut sont généralement appropriés pour un usage personnel.

Atténuation 4 — Tor pour Google spécifiquement. SearXNG prend en charge le proxying des requêtes upstream via Tor. Pour Google en particulier, qui est le plus agressif sur les CAPTCHA, router les requêtes via Tor (using_tor_proxy: true sur le bloc du moteur Google) échange un peu de latence contre une réputation bien plus fraîche.

Chapitre 3

L'installation Docker. Quinze minutes de « VPS fraîche » à « navigateur par défaut ».

1. Installer Docker. curl -fsSL https://get.docker.com | sh — Compose v2 est inclus dans le même paquet sur les Debian/Ubuntu modernes.

2. Cloner le template officiel searxng-docker. git clone https://github.com/searxng/searxng-docker.git && cd searxng-docker — il s'agit du docker-compose.yml maintenu en amont qui regroupe SearXNG avec un sidecar Valkey/Redis (pour le limiteur de débit et le cache) et un reverse proxy Caddy.

3. Configurer. Éditez .env : définissez SEARXNG_HOSTNAME=search.example.com (votre sous-domaine), [email protected] (utilisé par Caddy pour l'enregistrement ACME). Ouvrez searxng/settings.yml : définissez server.secret_key sur un openssl rand -hex 32 frais, personnalisez le titre/instance_name, activez les moteurs souhaités.

4. Lancement. docker compose up -d — le premier démarrage télécharge les images SearXNG, Valkey et Caddy, génère le certificat TLS, met en place les routes et se lance en quelques minutes.

5. Tester les moteurs. Recherchez quelque chose de courant ; vérifiez que les résultats reviennent. Ouvrez Préférences → Moteurs et vérifiez que chaque upstream activé affiche vert. Si Google affiche rouge avec une erreur CAPTCHA, passez à l'atténuation par proxy Tor du chapitre 2.

C'est l'installation. Mises à jour : docker compose pull && docker compose up -d une fois par semaine — la communauté SearXNG pousse des correctifs dans les 48 heures lorsqu'un upstream change son schéma de scraping, donc rester à jour fait la différence entre « tous les moteurs fonctionnent » et « Google est cassé depuis trois semaines ».

Chapitre 4

Navigateur par défaut. Bureau, mobile, terminal.

Firefox. Visitez https://search.example.com une fois ; cliquez sur le menu de dépassement de la barre d'adresse (...) → « Ajouter un moteur de recherche » ; Paramètres → Recherche → Moteur de recherche par défaut → SearXNG. La barre d'adresse recherche désormais via votre SearXNG. Bonus : désactivez Suggestions de recherche (les suggestions de SearXNG vont par défaut vers un tiers ; désactivez pour garder les frappes en local).

Chrome / Brave / Edge. chrome://settings/searchEngines → Ajouter → nom « SearXNG », raccourci « s », URL https://search.example.com/?q=%s — définir comme moteur par défaut.

iOS Safari. Safari ne vous permet pas d'ajouter des moteurs de recherche personnalisés directement, mais l'extension open source Privacy Redirect (ou le plugin Mojo Search Extensions plus complet) y arrive. Alternative : installez Brave ou Firefox iOS, définissez SearXNG par défaut, utilisez-le pour les recherches.

Android. Firefox Android — même procédure que sur bureau. Brave Android — même procédure que sur bureau. Le chemin des suggestions de clavier sur Chrome Android standard est le seul cas difficile ; utilisez Firefox dans ce cas.

Console. alias s='function _s(){ xdg-open "https://search.example.com/?q=$*"; }; _s' — ajoute une commande « s votre recherche ». Sur macOS, remplacez xdg-open par open.

Chapitre 5

Durcissement. Rendre l'instance véritablement sans journaux.

Désactiver les journaux d'accès Caddy. Le Caddyfile par défaut dans le template searxng-docker enregistre chaque requête dans un fichier JSON. Chaque requête de recherche que vous tapez apparaît dans ce journal. Éditez le Caddyfile pour ajouter log { output discard } à l'intérieur du bloc du site SearXNG ; rechargez Caddy. L'application n'écrit désormais aucun journal par requête.

Désactiver le proxy de favicons. SearXNG récupère par défaut les favicons des domaines de résultats, ce qui donne à chaque domaine un indice que quelqu'un l'a recherché. settings.yml : search.favicon_resolver: '' le désactive.

Désactiver les suggestions de recherche. Les suggestions d'autocomplétion sont transmises par défaut à un endpoint tiers. settings.yml : search.suggestion_resolver: '' maintient les suggestions de la barre d'URL en local.

Désactiver le proxy d'images si non nécessaire. SearXNG proxifie les images des résultats à travers lui-même pour la confidentialité ; cela consomme de la bande passante sur le VPS. Si vous n'utilisez pas la recherche d'images, settings.yml : search.result_proxy: { url: '' } le désactive.

Restreindre par IP ou authentification basique. Les instances SearXNG publiques attirent du trafic de bots que vous ne voulez pas épuiser votre budget upstream. Ajoutez un bloc Caddy basic_auth (un utilisateur, un mot de passe) ou restreignez le site par remote_ip { ... } à vos IP domestique et de voyage. La plupart des opérateurs finissent par le faire.

Chapitre 6

Aller plus loin — Perplexica AI par-dessus. Votre ChatGPT-recherche privé.

Perplexica est un clone open source de Perplexity AI — une interface de recherche IA qui prend une question en langage naturel, exécute des recherches ciblées pour rassembler des sources, puis synthétise une réponse avec citations. La partie intelligente est le backend : Perplexica utilise SearXNG comme moteur de recherche, et une API de complétion de chat compatible OpenAI (Ollama faisant tourner Llama / Mistral / Qwen en local, ou LiteLLM proxifiant vers un fournisseur distant) comme modèle de langage. Les deux moitiés peuvent être auto-hébergées, aucune n'a besoin de toucher un tiers.

Installation. git clone https://github.com/ItzCrazyKns/Perplexica.git, éditez config.toml pour pointer SEARXNG vers http://searxng:8080 (le conteneur existant du chapitre 3), réglez OLLAMA sur http://ollama:11434 ou votre endpoint LiteLLM, docker compose up -d. Perplexica tourne maintenant sur un second port, entièrement câblé sur votre SearXNG.

Ce que vous obtenez. Une interface web qui ressemble et se comporte comme Perplexity — tapez une question, regardez-la chercher via votre SearXNG, regardez-la synthétiser les sources, obtenez une réponse avec citations. Tout se passe sur votre VPS ; aucun tiers ne voit la question, les recherches ni la réponse. Pour un usage de niveau recherche, la structure avec sources citées est bien plus honnête que le format de paragraphes non attribués que les produits d'IA hébergés ont tendance à adopter.

Coût en ressources. SearXNG reste minuscule. Perplexica lui-même est une petite application Next.js. Le coût du modèle de langage est la variable — faire tourner Ollama avec un modèle 7B nécessite 8 Go de RAM, un modèle 70B en nécessite 64. Pour un usage modeste, pointez Perplexica vers un endpoint distant compatible OpenAI (LiteLLM devant l'un des fournisseurs d'inférence axés sur la vie privée) et le VPS reste léger.

FAQ · Auto-héberger SearXNG

Questions, réponses.

Huit questions qui se posent avant, pendant et après le déploiement d'une instance SearXNG privée.

Qu'est-ce que SearXNG et en quoi est-il différent de DuckDuckGo ?

SearXNG est un moteur de méta-recherche respectueux de la vie privée — il n'a pas son propre index de recherche ; au lieu de cela, lorsque vous l'interrogez, il transmet votre requête à 70+ moteurs upstream (Google, Bing, DuckDuckGo, Wikipedia, Brave, Mojeek, des centaines de spécialisés) et agrège les résultats. DuckDuckGo est un service de recherche unique qui proxifie ses propres résultats depuis Bing plus son propre crawler. La différence pratique : SearXNG vous donne des résultats plus nombreux, plus larges et moins filtrés, avec la possibilité d'exclure tout upstream en lequel vous n'avez pas confiance.

Qu'est-ce que l'auto-hébergement de SearXNG m'apporte que les instances publiques n'offrent pas ?

Trois choses. Première : personne sur une instance tierce ne peut voir vos recherches — les instances publiques sont gérées par des bénévoles avec qui vous n'avez aucune relation, et un admin trop zélé peut enregistrer les requêtes. Deuxième : la personnalisation — choisissez vos upstreams, votre pondération, vos catégories par défaut, votre interface sans compromis. Troisième : l'accès API — votre SearXNG auto-hébergé est le backend de confidentialité pour tout le reste (IA Perplexica, scrapers personnalisés, votre alias terminal pour « recherche »).

Qu'est-ce que le mur de réputation d'IP dont je lis partout ?

Quand SearXNG interroge Google ou Bing depuis votre IP VPS, ces upstreams voient « encore une IP de datacentre faisant des requêtes à l'apparence automatisée ». Les IP hyperscaler (AWS, GCP, Hetzner, DigitalOcean) sont les pires — elles se heurtent à des CAPTCHA ou à une limitation à 429 en quelques requêtes. Les IP de datacentre plus petites et moins sollicitées tiennent plus longtemps. L'atténuation : choisissez un hébergeur dont l'espace d'IP ne fait pas partie de la cartographie habituelle des abus, et configurez SearXNG pour distribuer les requêtes sur de nombreux upstreams afin qu'aucun n'en voit suffisamment pour commencer à limiter le débit.

De quel VPS ai-je besoin ?

Très peu. SearXNG est lié aux I/O (en attente de réponses HTTP upstream), pas au CPU. 1 vCPU et 512 Mo de RAM gèrent un seul utilisateur confortablement. Le tier Ravelin (5,90 $/mois) est confortablement surdimensionné et vous permet de faire tourner SearXNG, Perplexica, Vaultwarden et plusieurs autres petits services sur la même machine.

Puis-je définir SearXNG comme moteur de recherche par défaut dans Firefox ou Chrome ?

Oui — les deux navigateurs prennent en charge la découverte automatique OpenSearch. Une fois votre SearXNG sur https://search.example.com, naviguez-y dans Firefox ; le menu de dépassement de la barre d'URL propose « Ajouter un moteur de recherche ». Sur Chrome, faites un clic droit sur la barre d'adresse et « Gérer les moteurs de recherche » ; SearXNG apparaît dans la liste découverte. Définissez-le par défaut et la recherche dans la barre d'URL passe désormais par votre instance vie privée.

L'instance SearXNG enregistre-t-elle mes recherches ?

Non par défaut — c'est tout le point. SearXNG est livré avec la journalisation désactivée au niveau de l'application. Le serveur web devant lui (Caddy, Nginx) écrit par défaut des journaux d'accès qui incluent l'URL de la requête, qui inclut la requête de recherche. Le chapitre de durcissement de ce guide couvre la désactivation de ces journaux d'accès afin que l'instance devienne véritablement sans journaux.

Qu'est-ce que Perplexica et pourquoi est-il mentionné dans ce guide ?

Perplexica est un clone open source de Perplexity AI — une interface de recherche IA qui prend une question en langage naturel, exécute des requêtes de recherche pour rassembler des sources, et synthétise une réponse avec citations. Il utilise SearXNG comme backend de recherche. L'auto-hébergement des deux vous donne une interface de recherche IA privée où l'IA tourne en local (Ollama ou LiteLLM devant un endpoint compatible OpenAI) et les recherches passent par votre SearXNG. La combinaison est l'analogue respectueux de la vie privée de ChatGPT search.

Pourquoi héberger SearXNG sur un VPS vie privée plutôt que sur n'importe quel hébergeur bon marché ?

Parce que l'IP depuis laquelle votre SearXNG effectue des requêtes voit toutes vos recherches. C'est le même problème de métadonnées que le DNS — un tiers surveillant votre DNS sait partout où vous allez. Un SearXNG sur un VPS loué sous votre vraie identité, facturé sur votre carte, dans une juridiction qui oblige les datacentres à tenir des journaux, n'a pas résolu le problème ; il l'a juste déplacé. Un VPS nordique no-KYC payé en crypto maintient la couche de métadonnées alignée avec les garanties de confidentialité que la couche applicative vous offre.

Obtenir le métal

Un VPS nordique pour votre moteur de recherche privé. Sans KYC, payé en crypto.

Ravelin (2 vCPU, 4 Go, 5,90 $/mois) gère SearXNG + Vaultwarden + quelques autres petits services sur la même machine. Des IP nordiques qui n'ont pas été usées par les scrapers.

Dernière révision · 2026-05-20 · Références · Documentation upstream SearXNG, template searxng-docker, dépôt Perplexica, spécification OpenSearch · Fréquence · annuellement