Update SearXNG, Gluetun, and Valkey to describe the quadlet units instead of compose: searxng sets Network=gluetun.container, the units install to ~/.config/containers/systemd/, and scripts/deploy-searxng-quadlet.sh deploys them. Add a Boot Persistence section to the Stack doc. Correct the Gluetun tunnel check (the :8000 server 404s; verify tun0 instead) and note the pinned 10.89.2.0/24 subnet.
1.5 KiB
1.5 KiB
Valkey
Valkey is the cache and limiter store for SearXNG. It replaces Redis as the default in the official SearXNG deployment.
Host: Dankclaw — Docs: https://valkey.io
Facts (from research)
| Item | Value |
|---|---|
| Image | valkey/valkey:9-alpine |
| Port | 6379 (internal, on the SearXNG network) |
| Role | SearXNG limiter + result cache |
Why Valkey
The official SearXNG docker-compose ships a searxng-valkey container. Valkey is the Redis fork under the Linux Foundation umbrella; the SearXNG project moved to it as the default cache.
Configuration
The valkey unit is searxng-valkey.container (see SearXNG for the trio). It joins the searxng network and is reachable by the name searxng-valkey (container name) and the alias valkey:
[Container]
ContainerName=searxng-valkey
Network=searxng.network
NetworkAlias=valkey
Image=docker.io/valkey/valkey:9-alpine
Volume=/opt/searxng/valkey:/data
SearXNG connects to it via settings.yml:
valkey:
url: "valkey://searxng-valkey:6379/0"
It sets WantedBy=default.target. User linger is on, so it starts at boot.
Volumes
| Container path | Host path (convention) |
|---|---|
/data |
/opt/searxng/valkey |
Gotchas
- The limiter relies on Valkey; without it SearXNG falls back to in-memory state and rate limiting is per-restart.
- Keep Valkey on the same podman network as SearXNG.
See Also
- SearXNG — the consumer
- Dankclaw Stack