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

De Le Wiki de Lug

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