services:searxng
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| services:searxng [2026/03/10 01:11] – ewen | services:searxng [2026/03/10 14:26] (Version actuelle) – ewen | ||
|---|---|---|---|
| Ligne 6: | Ligne 6: | ||
| **Établissement :** Lycée Paul-Louis Courier, Tours | **Établissement :** Lycée Paul-Louis Courier, Tours | ||
| + | |||
| **Date :** Mars 2026 | **Date :** Mars 2026 | ||
| {{ : | {{ : | ||
| + | |||
| + | ===== 0. Prérequis ===== | ||
| + | |||
| + | Avant de commencer, s' | ||
| + | |||
| + | **Serveur hôte (X200)** | ||
| + | * Debian ou Ubuntu installé | ||
| + | * Docker et Docker Compose installés et fonctionnels | ||
| + | * Accès '' | ||
| + | |||
| + | **VPS** | ||
| + | * Nginx installé | ||
| + | * Accès SSH disponible | ||
| + | * Un nom de domaine avec un record A pointant vers l'IP publique du VPS | ||
| + | |||
| + | **Vérification rapide avant de démarrer :** | ||
| + | <code bash> | ||
| + | docker --version | ||
| + | docker compose version | ||
| + | nginx -v # Sur le VPS, vérifie que Nginx est installé | ||
| + | </ | ||
| + | |||
| + | <note tip>Ce guide ne couvre pas l' | ||
| ===== 1. Présentation et préparation du répertoire ===== | ===== 1. Présentation et préparation du répertoire ===== | ||
| Ligne 15: | Ligne 39: | ||
| SearXNG est un métamoteur de recherche respectueux de la vie privée. Le déploiement s' | SearXNG est un métamoteur de recherche respectueux de la vie privée. Le déploiement s' | ||
| - | Nous déploierons alors SearXNG à l'aide d'une image docker dédiée, sur notre infrastructure X200 + VPS, à l'addresse | + | Nous déploierons alors SearXNG à l'aide d'une image docker dédiée, sur notre infrastructure X200 + VPS, à l'adresse |
| Il convient donc de la création d'un record A sur notre registrar au préalable, pointant vers l' | Il convient donc de la création d'un record A sur notre registrar au préalable, pointant vers l' | ||
| Création des répertoires nécessaires à l' | Création des répertoires nécessaires à l' | ||
| - | |||
| <code bash> | <code bash> | ||
| - | sudo mkdir -p / | + | sudo mkdir -p / |
| cd / | cd / | ||
| </ | </ | ||
| Ligne 29: | Ligne 52: | ||
| Création du fichier de configuration principal '' | Création du fichier de configuration principal '' | ||
| - | |||
| <code yaml> | <code yaml> | ||
| use_default_settings: | use_default_settings: | ||
| - | |||
| server: | server: | ||
| port: 8080 | port: 8080 | ||
| Ligne 40: | Ligne 61: | ||
| image_proxy: | image_proxy: | ||
| </ | </ | ||
| - | |||
| Création du fichier '' | Création du fichier '' | ||
| - | |||
| <code yaml> | <code yaml> | ||
| version: ' | version: ' | ||
| - | |||
| services: | services: | ||
| searxng: | searxng: | ||
| Ligne 51: | Ligne 69: | ||
| container_name: | container_name: | ||
| ports: | ports: | ||
| - | - "8087:8080" | + | - "8080:8080" |
| volumes: | volumes: | ||
| - ./ | - ./ | ||
| Ligne 59: | Ligne 77: | ||
| - 8.8.8.8 | - 8.8.8.8 | ||
| </ | </ | ||
| - | |||
| Lancement de l' | Lancement de l' | ||
| - | |||
| <code bash> | <code bash> | ||
| sudo docker compose up -d | sudo docker compose up -d | ||
| </ | </ | ||
| - | |||
| ===== 3. Configuration du Reverse Proxy Nginx ===== | ===== 3. Configuration du Reverse Proxy Nginx ===== | ||
| - | + | Création du bloc serveur Nginx sur le VPS pour relayer le trafic via le tunnel WireGuard vers le port 8080 de la machine cible : | |
| - | Création du bloc serveur Nginx sur le VPS pour relayer le trafic via le tunnel WireGuard vers le port 8087 de la machine cible : | + | |
| <code nginx> | <code nginx> | ||
| server { | server { | ||
| server_name search.ewengadonnaud.xyz; | server_name search.ewengadonnaud.xyz; | ||
| - | |||
| location / { | location / { | ||
| - | proxy_pass http://10.10.0.2:8087; | + | proxy_pass http://X.X.X.X:8080; # Où X.X.X.X est l'IP cible, à modifier à notre convenance/ |
| | | ||
| proxy_set_header Host $host; | proxy_set_header Host $host; | ||
| Ligne 84: | Ligne 96: | ||
| } | } | ||
| </ | </ | ||
| - | + | ===== 4. Sécurisation SSL/TLS avec Certbot ===== | |
| - | ===== 4. Intégration au navigateur web ===== | + | Afin de garantir la confidentialité des requêtes (HTTPS), nous allons générer un certificat SSL gratuit via Let's Encrypt en utilisant l' |
| + | Installation de Certbot et de son plugin pour Nginx sur le VPS : | ||
| + | <code bash> | ||
| + | sudo apt update | ||
| + | sudo apt install python3-certbot-nginx | ||
| + | </ | ||
| + | Génération du certificat et configuration automatique du Reverse Proxy Nginx : | ||
| + | <code bash> | ||
| + | sudo certbot --nginx -d search.ewengadonnaud.xyz | ||
| + | </ | ||
| + | Certbot va automatiquement détecter le bloc serveur Nginx configuré à l' | ||
| + | ===== 5. Intégration au navigateur web ===== | ||
| Pour configurer SearXNG comme moteur de recherche par défaut au sein du navigateur client : | Pour configurer SearXNG comme moteur de recherche par défaut au sein du navigateur client : | ||
| - | |||
| * **Nom :** SearXNG | * **Nom :** SearXNG | ||
| * **Raccourci :** sx | * **Raccourci :** sx | ||
| * **URL avec %s à la place de la requête :** '' | * **URL avec %s à la place de la requête :** '' | ||
| - | |||
| {{ : | {{ : | ||
| + | |||
| + | ===== 6. Activation des favicons (optionnel) ===== | ||
| + | Par défaut, SearXNG n' | ||
| + | |||
| + | <note warning> | ||
| + | |||
| + | **Étape 1 — Ajout du resolver dans '' | ||
| + | |||
| + | Ajouter une section '' | ||
| + | <code yaml> | ||
| + | search: | ||
| + | favicon_resolver: | ||
| + | </ | ||
| + | Les resolvers disponibles sont : '' | ||
| + | |||
| + | **Étape 2 — Création du fichier de cache '' | ||
| + | |||
| + | Créer le fichier ''/ | ||
| + | <code toml> | ||
| + | [favicons] | ||
| + | cfg_schema = 1 | ||
| + | |||
| + | [favicons.cache] | ||
| + | db_url = "/ | ||
| + | LIMIT_TOTAL_BYTES = 2147483648 | ||
| + | </ | ||
| + | |||
| + | **Étape 3 — Déclaration du volume de cache dans '' | ||
| + | |||
| + | Le cache doit être persistant entre les redémarrages du conteneur. Modifier le '' | ||
| + | <code yaml> | ||
| + | version: ' | ||
| + | services: | ||
| + | searxng: | ||
| + | image: searxng/ | ||
| + | container_name: | ||
| + | ports: | ||
| + | - " | ||
| + | volumes: | ||
| + | - ./ | ||
| + | - searxng-cache:/ | ||
| + | restart: unless-stopped | ||
| + | dns: | ||
| + | - 1.1.1.1 | ||
| + | - 8.8.8.8 | ||
| + | |||
| + | volumes: | ||
| + | searxng-cache: | ||
| + | </ | ||
| + | |||
| + | Redémarrer le conteneur pour appliquer l' | ||
| + | <code bash> | ||
| + | docker compose restart | ||
| + | </ | ||
services/searxng.1773101510.txt.gz · Dernière modification : de ewen
