wiki: add alternatives section with SearXNG, FreshRSS, and Gitea
Add three new articles to 03-opensource/alternatives/: - SearXNG: private metasearch, Open WebUI integration - FreshRSS: self-hosted RSS, mobile app sync, OPML portability - Gitea: lightweight GitHub alternative, webhook pipeline Article count: 33 → 36. Open source section: 6 → 9. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
88
03-opensource/alternatives/searxng.md
Normal file
88
03-opensource/alternatives/searxng.md
Normal file
@@ -0,0 +1,88 @@
|
||||
# SearXNG — Private Self-Hosted Search
|
||||
|
||||
## Problem
|
||||
|
||||
Every search query sent to Google, Bing, or DuckDuckGo is logged, profiled, and used to build an advertising model of you. Even "private" search engines are still third-party services with their own data retention policies.
|
||||
|
||||
## Solution
|
||||
|
||||
[SearXNG](https://github.com/searxng/searxng) is a self-hosted metasearch engine. It queries multiple search engines simultaneously on your behalf — without sending any identifying information — and aggregates the results. The search engines see a request from your server, not from you.
|
||||
|
||||
Your queries stay on your infrastructure.
|
||||
|
||||
---
|
||||
|
||||
## Deployment (Docker)
|
||||
|
||||
```yaml
|
||||
services:
|
||||
searxng:
|
||||
image: searxng/searxng:latest
|
||||
container_name: searxng
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8090:8080"
|
||||
volumes:
|
||||
- ./searxng:/etc/searxng
|
||||
environment:
|
||||
- SEARXNG_BASE_URL=https://search.yourdomain.com/
|
||||
```
|
||||
|
||||
SearXNG requires a `settings.yml` in the mounted config directory. Generate one from the default:
|
||||
|
||||
```bash
|
||||
docker run --rm searxng/searxng cat /etc/searxng/settings.yml > ./searxng/settings.yml
|
||||
```
|
||||
|
||||
Key settings to configure in `settings.yml`:
|
||||
|
||||
```yaml
|
||||
server:
|
||||
secret_key: "generate-a-random-string-here"
|
||||
bind_address: "0.0.0.0"
|
||||
|
||||
search:
|
||||
safe_search: 0
|
||||
default_lang: "en"
|
||||
|
||||
engines:
|
||||
# Enable/disable specific engines here
|
||||
```
|
||||
|
||||
### Caddy reverse proxy
|
||||
|
||||
```
|
||||
search.yourdomain.com {
|
||||
reverse_proxy localhost:8090
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Using SearXNG as an AI Search Backend
|
||||
|
||||
SearXNG integrates directly with Open WebUI as a web search provider, giving your local AI access to current web results without any third-party API keys:
|
||||
|
||||
**Open WebUI → Settings → Web Search:**
|
||||
- Enable web search
|
||||
- Set provider to `searxng`
|
||||
- Set URL to `http://searxng:8080` (internal Docker network) or your Tailscale/local address
|
||||
|
||||
This is how MajorTwin gets current web context — queries go through SearXNG, not Google.
|
||||
|
||||
---
|
||||
|
||||
## Why Not DuckDuckGo?
|
||||
|
||||
DDG is better than Google for privacy, but it's still a centralized third-party service. SearXNG:
|
||||
|
||||
- Runs on your own hardware
|
||||
- Has no account, no cookies, no session tracking
|
||||
- Lets you choose which upstream engines to use and weight
|
||||
- Can be kept entirely off the public internet (Tailscale-only)
|
||||
|
||||
---
|
||||
|
||||
## Tags
|
||||
|
||||
#searxng #search #privacy #self-hosting #docker #linux #alternatives
|
||||
Reference in New Issue
Block a user