SearXNG
Privacy-respecting metasearch engine.
Overview
SearXNG is an open-source, privacy-focused metasearch engine that aggregates results from over 70 search engines including Google, Bing, DuckDuckGo, Wikipedia, and specialized sources without tracking users or storing personal data. Originally forked from the Searx project, SearXNG provides enhanced performance, additional features, and more active development while maintaining the core philosophy of private search. The application runs as a lightweight Python web service that proxies search requests through multiple engines and presents unified results without revealing user information to the underlying search providers. This containerized deployment simplifies the installation process by handling all Python dependencies and configuration requirements within an isolated environment. SearXNG serves users who prioritize digital privacy, system administrators setting up organizational search infrastructure, and anyone seeking an alternative to commercial search engines that collect user data. The Docker implementation makes it accessible for homelab enthusiasts and small organizations without requiring extensive Python or web server configuration knowledge.
Key Features
- Aggregates search results from 70+ engines including Google, Bing, Wikipedia, Reddit, GitHub, and academic databases
- Zero user tracking with no cookies, session storage, or IP address logging
- Built-in search result filtering and ranking algorithms to remove duplicates and improve relevance
- Customizable engine selection with per-category preferences for web, images, videos, news, and scientific content
- OpenSearch XML support for easy browser integration as default search provider
- Multi-language interface with support for 60+ languages and regional search preferences
- JSON and RSS result output formats for programmatic access and integration
- Real-time search suggestions and autocomplete functionality without external API calls
Common Use Cases
- 1Personal privacy-focused search engine for individuals avoiding data collection by commercial providers
- 2Corporate search infrastructure for organizations requiring confidential research capabilities
- 3Educational institution search portal for students and researchers needing academic source aggregation
- 4Homelab addition for tech enthusiasts building self-hosted service ecosystems
- 5Development environment search tool for programmers needing code repositories and documentation
- 6Public library or community center search service for patron privacy protection
- 7Journalist and investigative research tool for sensitive information gathering
Prerequisites
- Docker and Docker Compose installed with minimum 512MB available RAM
- Port 8080 available on the host system for web interface access
- Reliable internet connection for accessing upstream search engine APIs
- Basic understanding of YAML configuration for customizing search engine settings
- Web browser with JavaScript enabled for full interface functionality
- Optional: reverse proxy knowledge for HTTPS setup and domain configuration
For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms
docker-compose.yml
docker-compose.yml
1services: 2 searxng: 3 image: searxng/searxng:latest4 container_name: searxng5 restart: unless-stopped6 volumes: 7 - searxng_config:/etc/searxng8 ports: 9 - "8080:8080"1011volumes: 12 searxng_config: .env Template
.env
1# No additional config neededUsage Notes
- 1Docs: https://docs.searxng.org/
- 2Access at http://localhost:8080
- 3Aggregates results from 70+ search engines
- 4No tracking, no ads, no data collection
- 5Customize settings.yml to enable/disable engines
- 6Set as browser default search with opensearch.xml
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 searxng:5 image: searxng/searxng:latest6 container_name: searxng7 restart: unless-stopped8 volumes:9 - searxng_config:/etc/searxng10 ports:11 - "8080:8080"1213volumes:14 searxng_config:15EOF1617# 2. Create the .env file18cat > .env << 'EOF'19# No additional config needed20EOF2122# 3. Start the services23docker compose up -d2425# 4. View logs26docker compose logs -fOne-Liner
Run this command to download and set up the recipe in one step:
terminal
1curl -fsSL https://docker.recipes/api/recipes/searxng/run | bashTroubleshooting
- Search results showing 'Engine timeout' errors: Increase timeout values in settings.yml or disable slow-responding engines in the engines section
- No results returned for specific search types: Check that relevant engines are enabled in settings.yml and verify internet connectivity to upstream providers
- Interface loading slowly or timing out: Reduce the number of enabled search engines or increase Docker container memory allocation above 512MB
- OpenSearch integration not working in browser: Verify the public_instance configuration in settings.yml matches your actual domain or IP address
- 403 Forbidden errors when searching: Configure proper user-agent strings in settings.yml and ensure rate limiting settings don't conflict with engine requirements
- Container fails to start with permission errors: Check that the searxng_config volume has proper write permissions for the container user
Community Notes
Loading...
Loading notes...
Download Recipe Kit
Get all files in a ready-to-deploy package
Includes docker-compose.yml, .env template, README, and license
Ad Space
Shortcuts: C CopyF FavoriteD Download