SearXNG
Privacy-respecting, hackable metasearch engine
version: '3.7'
services:
redis:
container_name: searxng-redis
image: "redis:alpine"
restart: unless-stopped
command: redis-server --save "" --appendonly "no"
networks:
- searxng
tmpfs:
- /var/lib/redis
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
searxng:
container_name: searxng
image: searxng/searxng:latest
restart: unless-stopped
depends_on:
- redis
networks:
- searxng
ports:
- "8082:8080"
volumes:
- /srv/.../Files/Searxng/:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=https://your.domain.tld/
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- DAC_OVERRIDE
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
searxng:
ipam:
driver: default
Voici un tuto concis basé sur ta méthode (clone + docker-compose dans Portainer + config minimale via WebUI) :
1. Préparer le repo
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
-
Édite
searxng/settings.ymlpour définir tonsecret_keyet supprimer tout tag YAML non reconnu (!goou autres) :
use_default_settings: true
server:
secret_key: "ultrasecretkey"
limiter: false
image_proxy: true
redis:
url: redis://redis:6379/0
2. Préparer Docker Compose
-
Dans Portainer, créer un stack et coller ton
docker-compose.ymladapté :-
Supprimer le service
caddysi tu ne l’utilises pas. -
Binder tes volumes sur
/srv/dev-disk-by-uuid-53d16a81-1979-44a2-9f39-fd2dff88856a/Files/Searxng/:
-
services:
redis:
container_name: redis
image: docker.io/valkey/valkey:8-alpine
command: valkey-server --save 30 1 --loglevel warning
restart: unless-stopped
volumes:
- /srv/dev-disk-by-uuid-53d16a81-1979-44a2-9f39-fd2dff88856a/Files/Searxng/redis:/data
searxng:
container_name: searxng
image: docker.io/searxng/searxng:latest
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
volumes:
- /srv/dev-disk-by-uuid-53d16a81-1979-44a2-9f39-fd2dff88856a/Files/Searxng/searxng:/etc/searxng
- /srv/dev-disk-by-uuid-53d16a81-1979-44a2-9f39-fd2dff88856a/Files/Searxng/cache:/var/cache/searxng
3. Lancer le stack
-
Dans Portainer : Deploy the stack.
-
Vérifier les logs :
docker logs -f searxng
-
Corriger les éventuels warnings YAML ou Redis si besoin.
4. Configurer via WebUI
-
Accéder à
http://localhost:8080(ou ton host). -
Dans
Settings → Engines, activer/désactiver les moteurs. -
Sauvegarder.
-
Tu peux ignorer Google si tu veux éviter les blocages 403.
5. Notes
-
Les moteurs comme Google peuvent être bloqués → mieux vaut utiliser Google API ou les désactiver.
-
Toutes les données persistent dans les volumes bindés → tu peux recréer le conteneur sans perdre la config.
-
Pour mises à jour :
docker pull searxng/searxng:latest+ relancer le stack.
No comments to display
No comments to display