You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(searxng): always-on Quadlet for privacy-respecting metasearch
SearXNG is the search counterpart to mios-ai/ollama: a single localhost
endpoint (http://localhost:8888/) that aggregates ~250 upstream search
engines without leaking IP, user-agent, or session identifier to any of
them. AGPL-3.0, 100% local, no API key, no telemetry. Pairs with the
agent surface as a `web_search` tool target without breaking
Architectural Law 5 -- a search proxy is not a model, so no UNIFIED-
AI-REDIRECTS exception is required.
Files:
* etc/containers/systemd/mios-searxng.container -- Quadlet pinned at
docker.io/searxng/searxng:latest@sha256:885f1cd1bb86d759aa4724a1986
a61c000292823ff8eeb17d34de1a8acb74477 (multi-arch index digest, so
one pin works on amd64/arm64/armv7). PublishPort 8888:8080 so the
host port doesn't clash with mios-ai's 8080.
* usr/lib/sysusers.d/50-mios-services.conf -- pin mios-searxng UID/
GID to 818 (next free in the 810-829 service range; 817 is mios-ai
in 50-mios-ai.conf).
* usr/lib/tmpfiles.d/mios-searxng.conf -- 0750 mios-searxng:mios-
searxng on /etc/mios/searxng and /var/cache/mios/searxng, plus a
`C` line that copies vendor settings.yml on first boot only.
* usr/share/mios/searxng/settings.yml -- vendor defaults: instance
name "MiOS Search", placeholder secret_key (regenerated at first
container start by SearXNG's entrypoint), formats: html + json
(json required for the agent web_search tool surface), telemetry
off, donation/contact URLs off.
* usr/share/mios/mios.toml -- new [search] section with endpoint and
enable flag, sitting alongside [ai].
* usr/share/mios/env.defaults -- MIOS_SEARXNG_{VERSION,IMAGE,PORT,
USER,UID,GID} for shell-side consumers.
* automation/lib/globals.{sh,ps1} -- mirror env.defaults: user/uid/
gid + port + URL + unit name + container image ref.
* usr/libexec/mios/mios-dashboard.sh -- show "Search" endpoint dot
in the Self-replication-loop section and add mios-searxng to the
Quadlet status list.
* usr/lib/systemd/system-preset/90-mios.preset -- enable
mios-searxng.service alongside cockpit.socket.
No new .gitignore entries needed: mios-searxng.container matches the
existing `etc/containers/systemd/mios*` whitelist, mios-searxng.conf
matches `*mios*` under tmpfiles.d, and usr/share/mios/searxng/ is
covered by the broad `!/usr/share/mios/**` whitelist.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
0 commit comments