add interactive SearXNG safe-search prompts and category/engine controls
Setup (both scripts): - Q6 asks safe-search level: none / moderate / strict - Then asks which categories to disable: videos images news science social - Then asks which engines to disable by name (duckduckgo, bing, etc.) - Choices flow into SEARXNG_QUERY_URL &safesearch=N in docker-compose.yml - SearXNG summary line added to laptop_full_setup.sh install plan configure-searxng-safesearch.sh: - Full rewrite: --disable-categories, --disable-engines, --enable-engines - Category maps: videos / images / news / science / social engine lists - --enable-engines overrides auto-disables (e.g. keep yandex on strict) - Preserves existing secret key on update - Creates settings.yml from scratch if missing (safe for setup use) - Help flag (-h/--help) https://claude.ai/code/session_012gDnantBmFTWZGCiKyjazx
This commit is contained in:
+45
-15
@@ -493,6 +493,37 @@ if $INSTALL_AI; then
|
||||
[[ "${DO_PULL,,}" != "n" ]] && PULL_MODELS=true
|
||||
fi
|
||||
|
||||
# ── Q6: SearXNG safe-search ───────────────────────────────────────────────────
|
||||
SEARXNG_SAFE_LEVEL="none"
|
||||
SEARXNG_SAFE_INT=0
|
||||
SEARXNG_DISABLE_CATS=""
|
||||
SEARXNG_DISABLE_ENGINES=""
|
||||
|
||||
if $INSTALL_AI && $SVC_SEARXNG; then
|
||||
echo ""
|
||||
echo -e " ${BOLD}[6/6] SearXNG safe-search${NC}"
|
||||
echo " 0) None — all results, no filtering (default)"
|
||||
echo " 1) Moderate — filter explicit content"
|
||||
echo " 2) Strict — block all explicit content"
|
||||
echo ""
|
||||
read -rp " Choice [0]: " _SAFE_PICK
|
||||
case "${_SAFE_PICK:-0}" in
|
||||
1) SEARXNG_SAFE_LEVEL="moderate"; SEARXNG_SAFE_INT=1 ;;
|
||||
2) SEARXNG_SAFE_LEVEL="strict"; SEARXNG_SAFE_INT=2 ;;
|
||||
*) SEARXNG_SAFE_LEVEL="none"; SEARXNG_SAFE_INT=0 ;;
|
||||
esac
|
||||
|
||||
echo ""
|
||||
echo " Disable search categories? (Enter to keep all)"
|
||||
echo " Options: videos images news science social"
|
||||
read -rp " Categories (space-separated, Enter to skip): " SEARXNG_DISABLE_CATS
|
||||
|
||||
echo ""
|
||||
echo " Disable specific engines? (Enter to keep defaults)"
|
||||
echo " Web: google bing duckduckgo brave startpage qwant yahoo"
|
||||
read -rp " Engines (space-separated, Enter to skip): " SEARXNG_DISABLE_ENGINES
|
||||
fi
|
||||
|
||||
# ── Summary ───────────────────────────────────────────────────────────────────
|
||||
echo ""
|
||||
echo -e "${BOLD}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
||||
@@ -521,6 +552,12 @@ if $INSTALL_AI; then
|
||||
fi
|
||||
fi
|
||||
$SVC_KIWIX && echo " ✓ Kiwix ZIMs → $KIWIX_DIR"
|
||||
if $INSTALL_AI && $SVC_SEARXNG; then
|
||||
_sx="safe_search: $SEARXNG_SAFE_LEVEL"
|
||||
[[ -n "$SEARXNG_DISABLE_CATS" ]] && _sx+=" | disabled cats: $SEARXNG_DISABLE_CATS"
|
||||
[[ -n "$SEARXNG_DISABLE_ENGINES" ]] && _sx+=" | disabled engines: $SEARXNG_DISABLE_ENGINES"
|
||||
echo " ✓ SearXNG → $_sx"
|
||||
fi
|
||||
$PULL_MODELS && echo " ✓ Pull models : $EMBED_MODEL + $FAST_MODEL + $CHAT_MODEL + $CODE_MODEL${REASON_MODEL:+ + $REASON_MODEL}"
|
||||
[[ "$ZIM_CHOICE" == "1" ]] && echo " ✓ Download all ZIMs in background (~130GB)"
|
||||
[[ "$ZIM_CHOICE" == "2" ]] && echo " ✓ Select ZIMs to download (prompted after stack starts)"
|
||||
@@ -674,23 +711,16 @@ ok "mcp_requirements.txt"
|
||||
fi # INSTALL_AI
|
||||
|
||||
# =============================================================================
|
||||
if $INSTALL_AI; then
|
||||
if $INSTALL_AI && $SVC_SEARXNG; then
|
||||
section "SearXNG Config"
|
||||
# =============================================================================
|
||||
write_if_new "$BASE/searxng/settings.yml" << SEARXNG
|
||||
use_default_settings: true
|
||||
general:
|
||||
instance_name: "Local Search"
|
||||
server:
|
||||
secret_key: "$(openssl rand -hex 32)"
|
||||
limiter: false
|
||||
search:
|
||||
safe_search: 0
|
||||
default_lang: "en"
|
||||
formats: [html, json]
|
||||
SEARXNG
|
||||
mkdir -p "$BASE/searxng"
|
||||
_SXARGS=("$SEARXNG_SAFE_LEVEL")
|
||||
[[ -n "$SEARXNG_DISABLE_CATS" ]] && _SXARGS+=(--disable-categories "${SEARXNG_DISABLE_CATS// /,}")
|
||||
[[ -n "$SEARXNG_DISABLE_ENGINES" ]] && _SXARGS+=(--disable-engines "${SEARXNG_DISABLE_ENGINES// /,}")
|
||||
BASE="$BASE" bash "$SCRIPT_DIR/configure-searxng-safesearch.sh" "${_SXARGS[@]}"
|
||||
|
||||
fi # INSTALL_AI
|
||||
fi # INSTALL_AI && SVC_SEARXNG
|
||||
|
||||
# =============================================================================
|
||||
section ".env File"
|
||||
@@ -780,7 +810,7 @@ ${OLLAMA_VOLUME_LINE}
|
||||
- ENABLE_OPENAI_API=true
|
||||
- ENABLE_RAG_WEB_SEARCH=true
|
||||
- RAG_WEB_SEARCH_ENGINE=searxng
|
||||
- SEARXNG_QUERY_URL=http://searxng:8080/search?q=<query>&format=json&safesearch=0
|
||||
- SEARXNG_QUERY_URL=http://searxng:8080/search?q=<query>&format=json&safesearch=${SEARXNG_SAFE_INT}
|
||||
- RAG_WEB_SEARCH_RESULT_COUNT=5
|
||||
- RAG_WEB_SEARCH_CONCURRENT_REQUESTS=10
|
||||
- ENABLE_TOOL_SERVERS=true
|
||||
|
||||
Reference in New Issue
Block a user