SearXNG est un métamoteur de recherche Internet gratuit qui regroupe les résultats de plus de 70 services de recherche. Les utilisateurs ne sont ni suivis ni profilés. De plus, SearXNG peut être utilisé sur Tor pour l'anonymat en ligne.
J'ai fait une refonte du tuto pour plus de clarté, il y a 4 méthodes.
- avec 1 clic avec Cosmos-cloud si vous l'avez d'installé
- en HTTP, de loin la plus mauvaise solution
- avec Caddy en reverse-proxy
- avec votre propre reverse-proxy (Cosmos ou NPM)
Si vous avez la moindre difficulté, n'oubliez pas que vous pouvez rejoindre belginux sur Discord et Matrix!
L'installation
Avec Cosmos Cloud
Cette application peut-être installée en un clic sur votre Cosmos Cloud en cliquant sur l'image ci-dessous:
En HTTP uniquement
Même si cela fonctionne très bien en HTTP, je déconseille vivement!
- Créez votre docker-compose.yml:
sudo nano docker-compose.yml
- Collez ça dedans:
version: "3.7"
services:
redis:
container_name: redis
image: docker.io/library/redis:alpine
command: redis-server --save 30 1 --loglevel warning
networks:
- searxng
volumes:
- redis-data:/data
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
searxng:
container_name: searxng
image: docker.io/searxng/searxng:latest
networks:
- searxng
ports:
- "8080:8080"
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
searxng:
ipam:
driver: default
volumes:
redis-data:
- Créez votre .env
sudo nano docker-compose.yml
- Collez ça dedans et remplacer changez_moi par l'IP locale de votre serveur:
# By default listen on https://localhost
# To change this:
# * uncomment SEARXNG_HOSTNAME, and replace <host> by the SearXNG hostname
# * uncomment LETSENCRYPT_EMAIL, and replace <email> by your email (require to create a Let's Encrypt certificate)
SEARXNG_HOSTNAME=changez_moi
# LETSENCRYPT_EMAIL=<email>
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur l'ip:port en HTTP, suivant l'IP de votre serveur local:
http://ip:8080
Avec Caddy en HTTPS
⚠️ Le port 80 et 443 doivent être redirigés vers l'IP locale de votre serveur.
- On va télécharger l'application et se rendre dans son dossier. Il faut lancer cette commande à la racine du dossier ou se trouvent toutes vos applications:
sudo git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
- Éditer le fichier .env pour définir le nom d'hôte et un e-mail:
sudo nano .env
- Complétez suivant votre nom d'hôte (IP locale du serveur ou votre nom de domaine) et vote e-mail et retirez les # devant les deux dernières lignes:
- Générer une clé secrète:
sudo sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur le nom de domaine choisi par vos soins dans le fichier .env:
https://ndd.tld
ou, suivant votre configuration
https://ip:443
Avec votre propre reverse-proxy en HTTPS
- On va télécharger l'application et se rendre dans son dossier. Il faut lancer cette commande à la racine du dossier ou se trouvent toutes vos applications:
sudo git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
- Il faut maintenant éditez le docker-compose.yaml:
nano docker-compose.yaml
- Collez ça dedans:
version: "3.7"
services:
redis:
container_name: redis
image: docker.io/library/redis:alpine
command: redis-server --save 30 1 --loglevel warning
networks:
- searxng
volumes:
- redis-data:/data
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
searxng:
container_name: searxng
image: searxng/searxng:latest
networks:
- searxng
ports:
- "8080:8080"
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
searxng:
ipam:
driver: default
volumes:
redis-data:
- Maintenant éditez le .env:
sudo nano .env
Indiquez votre domaine après SEARXNG_HOSTNAME=
Commentez la ligne #LETSENCRYPT_EMAIL dans le .env et sauvez le .env:
- Ensuite on installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur l'ip:port en HTTP, suivant l'IP de votre serveur local:
http://ip:8080
- Utilisez votre reverse pour le certificat SSL.
Utiliser le HTTPS avec un SSL certifié et signé
Il est préférable d'utiliser un certificat SSL certifié et signé.
J'ai deux noms en tête:
- Cosmos Cloud, mon préféré:
- Nginx Proxy Manager: