SearXNG - Privacy-Focused Metasearch Engine

Privacy-respecting metasearch engine that aggregates results from 70+ search engines without tracking.

Quick Start

# Start the service
docker compose up -d

# Check status
docker compose ps

# View logs
docker compose logs -f searxng

Access

Configuration

File Purpose
docker-compose.yml Service definition
.env Secret key
config/settings.yml SearXNG configuration
config/limiter.toml Rate limiter (optional)

API Usage

Basic Search (JSON)

curl -X POST "https://search.haiven.local/search" \
  -d "q=docker networking&format=json"

From Other Containers

# From any container on backend network
curl -X POST "http://searxng:8080/search" \
  -d "q=python tutorials&format=json"

Files

searxng/
├── docker-compose.yml    # Service definition
├── .env                  # SEARXNG_SECRET
├── config/
│   └── settings.yml      # SearXNG configuration
├── data/                 # Cache directory
├── README.md             # This file
└── USER_GUIDE.md         # User guide

Troubleshooting

Container won't start:

docker compose logs searxng | grep -i error

Schema validation errors:
- Check settings.yml for boolean vs string type mismatches
- Use use_default_settings: true for minimal config

404 via Traefik:

docker restart traefik

Documentation