Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« SearXNG » : différence entre les versions

De Le Wiki de Lug
Ligne 33 : Ligne 33 :
On édite le fichier de l'environnement :
On édite le fichier de l'environnement :
  # vi /opt/searxng/.env
  # vi /opt/searxng/.env
{{Méta bandeau
-----
  | niveau = information
Pour une utilisation privé (non accessible depuis Internet) :
  | icône = loupe
  | texte  = La configuration par défaut est suffisante pour une utilisation privé (non accessible depuis Internet) sauf cas particulier.
}}
Pour une configuration publique :
  <font color = grey>...</font>
  <font color = grey>...</font>
<font color = blue>SEARXNG_VALKEY_URL=valkey://valkey:6379/0</font>
-----
Pour une configuration publique (derrière un revese-proxy) :
<font color = grey>...</font>
<font color = blue>SEARXNG_VALKEY_URL=valkey://valkey:6379/0
SEARXNG_HOST=<font color = green>0.0.0.0</font>
SEARXNG_PORT=<font color = green>8080</font>
SEARXNG_BASE_URL=<font color = green><nowiki>https://</nowiki>searxng.exemple.net/</font>
SEARXNG_LIMITER=true
SEARXNG_PUBLIC_INSTANCE=true</font>
Et pour la configuration publique uniquement on configure la détection de bots en créant le fichier [https://docs.searxng.org/admin/searx.limiter.html#limiter-toml limiter.toml] :
# vi /etc/searxng/limiter.toml
trusted_proxies = [
  '<font color = blue>IP_REVERSEPROXY</font>/32',
]
   
   
Pour une version privée sans limitation (exemple : pour être utilisée par une IA) :
  [botdetection.ip_limit]
  services:
filter_link_local = true
  searxng:
link_token = true
    image: searxng/searxng:latest
 
    container_name: searxng
-----
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./searxng-data:/etc/searxng
    environment:
      # Accès direct via IP :
      - SEARXNG_BASE_URL=<nowiki>http://</nowiki><font color = blue>IP_LXC</font>:8080/
      # Accès via reverse proxy (HTTPS recommandé) :
      #- SEARXNG_BASE_URL=<nowiki>https://</nowiki><font color = blue>DNS_REVERSE_PROXY</font>/
Pour une version publique derrière un reverse proxy :
services:
  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    restart: unless-stopped
    ports:
      - "8080:8080"
    volumes:
      - ./searxng-data:/etc/searxng
    environment:
      # Accès direct via IP :
      #- SEARXNG_BASE_URL=<nowiki>http://</nowiki><font color = blue>IP_LXC</font>:8080/
      # Accès via reverse proxy (HTTPS recommandé) :
      - SEARXNG_BASE_URL=<nowiki>https://</nowiki><font color = blue>DNS_REVERSE_PROXY</font>/
      - SEARXNG_LIMITER=true
      - SEARXNG_PUBLIC_INSTANCE=true
{{Méta bandeau
{{Méta bandeau
   | niveau = grave
   | niveau = grave

Version du 20 avril 2026 à 22:22

Prérequis

  • si Alpine LXC : avec Nesting et keyctl activé (Docker).
  • CPU :
    • minimum : 1 vCPU
    • recommandé : 2 vCPU (meilleure gestion des requêtes simultanées)
  • RAM :
    • minimum : 512 Mo
    • recommandé : 1 Go
    • confortable : 2 Go si forte utilisation ou nombreux moteurs activés
  • Stockage :
    • minimum : 1–2 Go
    • recommandé : 5 Go (logs + cache)

Installation

On installe docker :

# apk update && apk upgrade
# apk add docker docker-cli-compose curl
# rc-update add docker default
# rc-service docker start

On installe SearXNG :

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

On peux éditer le docker-compose :

# vi /opt/searxng/docker-compose.yml

On édite le fichier de l'environnement :

# vi /opt/searxng/.env

Pour une utilisation privé (non accessible depuis Internet) :

...
SEARXNG_VALKEY_URL=valkey://valkey:6379/0

Pour une configuration publique (derrière un revese-proxy) :

...
SEARXNG_VALKEY_URL=valkey://valkey:6379/0
SEARXNG_HOST=0.0.0.0
SEARXNG_PORT=8080
SEARXNG_BASE_URL=https://searxng.exemple.net/
SEARXNG_LIMITER=true
SEARXNG_PUBLIC_INSTANCE=true

Et pour la configuration publique uniquement on configure la détection de bots en créant le fichier limiter.toml :

# vi /etc/searxng/limiter.toml
trusted_proxies = [
  'IP_REVERSEPROXY/32',
]

[botdetection.ip_limit]
filter_link_local = true
link_token = true

On lance SearXNG :

# docker compose up -d

Vérification :

# docker ps

Configuration

Pour configurer manuellement l'instance (après le premier démarrage), éditer le fichier :

# vi /opt/searxng/core-config/settings.yml

Appliquer les modifications :

# docker restart searxng

Autoriser les requêtes via json pour les IA

# remove format to deny access, use lower case.
  # formats: [html, csv, json, rss]    
  formats:                                         
    - html                                            
    - json
# docker restart searxng