
SearXNG
Internet metasearch engine
SearXNG is a free internet metasearch engine which aggregates results from various search services and databases. Users are neither tracked nor profiled.
Source: https://github.com/searxng/searxng
Compose: https://github.com/searxng/searxng-docker
name: searxng
services:
searxng-redis:
container_name: searxng-redis
image: docker.io/valkey/valkey:8-alpine
command: valkey-server --save 30 1 --loglevel warning
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 10s
retries: 3
# Named volume is needed to avoid "chown - Operation not permitted" error
volumes:
- searxng-valkey-data:/data
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
- searxng-backend
searxng:
container_name: searxng
image: docker.io/searxng/searxng:2025.5.30-37d851f
restart: unless-stopped
volumes:
- ${DOCKER_VOLUMES}/searxng:/etc/searxng
- ./searxng/settings.yml:/etc/searxng/settings.yml
environment:
SEARXNG_BASE_URL: https://searxng.${MYDOMAIN}/
# https://docs.searxng.org/admin/settings/settings_server.html
SEARXNG_SECRET: ${SEARXNG_SECRET}
# https://docs.searxng.org/admin/settings/settings_redis.html
SEARXNG_REDIS_URL: "redis://searxng-redis:6379/0"
UWSGI_WORKERS: ${SEARXNG_UWSGI_WORKERS:-4}
UWSGI_THREADS: ${SEARXNG_UWSGI_THREADS:-4}
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
- searxng-backend
- proxy
labels:
traefik.enable: true
traefik.http.routers.searxng.middlewares: localaccess@file
traefik.http.services.searxng.loadbalancer.server.port: 8080
homepage.group: Tools
homepage.name: SearXNG
homepage.icon: searxng.png
homepage.href: https://searxng.${MYDOMAIN}/
homepage.description: "Internet metasearch engine"
networks:
searxng-backend:
external: false
proxy:
external: true
volumes:
searxng-valkey-data: