🔍 Setup SearXNG — Self-Hosted Private Search Engine
Deploy SearXNG on Ubuntu — a privacy-first meta search engine that aggregates results from 70+ sources including Google and Bing, with no tracking, no profiling, and full self-hosted control.
📦 Resources & Setup Scripts
Grab the automated bash script from GitHub to follow along with the video.
Quick Install:
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/AI/searxng/searxng-ubuntu.sh
chmod +x searxng-ubuntu.sh
sudo bash searxng-ubuntu.sh
Tutorial Steps
1 Download the Script
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/AI/searxng/searxng-ubuntu.sh
2 Make it Executable
chmod +x searxng-ubuntu.sh
3 Run the Installer
The script installs Docker if needed, configures SearXNG with sensible defaults, and starts it automatically.
sudo bash searxng-ubuntu.sh
4 Access the Search Interface
Open your browser and navigate to:
http://<your-server-ip>:8080
Ports Used
| Port | Purpose |
|---|---|
| 8080 | HTTP Web Interface + JSON API |
Overview
SearXNG is a free, open-source, privacy-respecting internet metasearch engine. It aggregates results from more than 70 search engines including Google, Bing, DuckDuckGo, Brave, Wikipedia, YouTube, GitHub, and many more, without tracking users, storing search history, or building user profiles. You control exactly which engines are queried, how results are ranked, and who can use the instance. SearXNG is a community-maintained fork of searx with active development, improved performance, and a modern interface.
Why Use It
Every time you search on Google or Bing, your queries are logged, tied to your identity, and used to build an advertising profile. SearXNG breaks this cycle — your searches go through your own server and are forwarded anonymously to multiple engines, with results aggregated back to you. No account required, no tracking cookies, no personalized filter bubbles. You get diverse, unfiltered results from many sources simultaneously.
When You Need It
Who Should Use It
Real Use Cases
Main Features
How to Use After Installation
Security Best Practices
Ports and Firewall Notes
SearXNG runs on port 8080 by default inside the Docker container. This port should be mapped to localhost only (127.0.0.1:8080) and served externally through Nginx Proxy Manager on HTTPS port 443. Never expose port 8080 directly to the internet — it would allow anyone to use your server and its bandwidth as a search proxy.
Backup and Maintenance
Common Mistakes
Troubleshooting
Alternatives
Whoogle Search is a simpler single-engine Google proxy focused purely on clean Google results without tracking. Brave Search provides a privacy-focused managed search engine without self-hosting overhead. DuckDuckGo is a popular privacy-focused search engine that does not require self-hosting. Perplexica is a self-hosted AI search tool built on top of SearXNG.
When Not to Use It
If you only want cleaner Google results without the full meta-search capability, Whoogle is simpler to deploy and maintain. If you are building a commercial product that needs SLA guarantees for search, using a managed API is more reliable. For highly casual personal use, DuckDuckGo or Brave Search offer good privacy without self-hosting overhead.
PrismaTechWork Professional Help
PrismaTechWork provides end-to-end infrastructure services — from initial deployment and security hardening to ongoing monitoring, automated backups, and dedicated support.
Frequently Asked Questions
Does SearXNG show Google results?
Yes. SearXNG queries Google (and many other engines) without using a Google account, so Google sees the query as coming from your server, not from you personally. Results are aggregated with other engines and returned without personalization or tracking.
Can SearXNG be used as a web search backend for Open WebUI?
Yes. In Open WebUI Admin → Settings → Web Search, select SearXNG as the provider and enter your instance URL. The LLM can then use SearXNG to fetch live web results during conversations.
Is SearXNG completely anonymous?
SearXNG hides your identity from search engines — they see your server's IP, not yours. However, your server's IP is visible to search engines. For maximum anonymity, route SearXNG traffic through a VPN or Tor, though this significantly slows performance.
Can I customize which search engines SearXNG uses?
Yes. Edit settings.yml to enable or disable any of the 70+ supported engines. You can configure engines per category (Web, Images, News, etc.), set engine weights for result ranking, and add custom engines via the engines configuration.
How do I update SearXNG?
Pull the latest image (docker pull searxng/searxng:latest), then stop and remove the container and recreate it with the same run command. Your settings.yml is typically mounted as a volume and persists across updates.