feat(search): sovereign SearXNG stack — no public instance dependency - #48
Merged
Merged
Conversation
sourceos-searxng-setup.sh (new): - Docker path: pulls searxng/searxng:latest → localhost:8888, skips if exists - Homebrew fallback: brew install searxng → localhost:8080 - Probes instance after setup; writes URL to ~/.local/state/sourceos/searxng-url com.sourceos.searxng.plist (new): - launchd agent: docker start sourceos-searxng at login - Activated via turtle-install-launchd --with-searxng turtle-web-search: - _searxng_url(): env var → state file → localhost probe (8888→8080) → searx.be - No public instance required when local SearXNG is running turtle-install-launchd: - --with-searxng flag appends com.sourceos.searxng to install list (off by default) - Updated usage string turtle-mesh-serve: - _searxng_alive(): same 4-level probe, 1s timeout - gather_state() includes searxng_ok bool - Dashboard status bar: Search badge (green=up / red=down) next to Noetica
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
noes(Noetica + web search + citations) was shipping with a hard dependency onhttps://searx.be, a public instance. This PR makes the stack fully sovereign.Four-level URL resolution in
turtle-web-searchNo public instance needed when a local SearXNG is running.
scripts/sourceos-searxng-setup.shOne-shot setup:
docker run searxng/searxng:lateston127.0.0.1:8888(skips if container exists)brew install searxngon:8080export SEARXNG_URL=...com.sourceos.searxng.plistlaunchd agent:
docker start sourceos-searxngat login. Install with:(Off by default — requires Docker setup first.)
Mesh dashboard Search badge
http://localhost:7788now shows a Search status tile next to Noetica: green when a local SearXNG responds, red otherwise. Uses the same 4-level probe with 1s timeout.Test plan
./scripts/sourceos-searxng-setup.sh— Docker path: container starts, URL written to state filews "wezterm latest"— hits local instance (verify viaSEARXNG_URL=http://localhost:8888 ws "test")noes "k8s 1.33 release"— answer with[1][2]citations from local resultswsfalls back to searx.beturtle-install-launchd --with-searxng --status— shows searxng agent