# SearXNG Self-Hosted Search on Core

Deployed Jul 7, 2026 via Docker on Core. Port 8888 (127.0.0.1 only).

## Docker Compose

```yaml
services:
  searxng:
    image: searxng/searxng:latest
    container_name: searxng
    restart: always
    ports:
      - "127.0.0.1:8888:8080"
    volumes:
      - ./searxng-data:/etc/searxng:rw
      - ./searxng-themes:/usr/local/searxng/searx/static/themes:rw
    environment:
      - SEARXNG_BASE_URL=http://localhost:8080
      - SEARXNG_SECRET_KEY=<auto-generated>
```

Location: `/root/docker/searxng/docker-compose.yml`
Settings: `/root/docker/searxng/searxng-data/settings.yml` (added `search.formats: [html, json]` to enable JSON API)

## Usage

Search via JSON API:
```
curl -s "http://127.0.0.1:8888/search?q=query&format=json"
```

## Motivation

- Hermes web tools (web_search, web_extract) require Firecrawl API key — not yet configured
- SearXNG provides unlimited, self-hosted search as fallback
- Used via terminal curl in Hermes — not as seamless as native tools but free and unlimited

## Relation to Firecrawl

SearXNG + Firecrawl complement each other:
- SearXNG: unlimited search (finding URLs)
- Firecrawl: page content extraction (getting text from URLs)
- With both, Firecrawl only handles extraction — free tier lasts much longer
