fix(searxng,seafile): repair wget healthcheck argv, restore seafile after 3-month outage

searxng: the healthcheck passed '--tries' and '--spider' as separate argv
entries, so wget consumed '--spider' as the value of '--tries'. Spider mode
never engaged and every 30s probe downloaded the response to disk; the
container's working directory had accumulated 295,287 healthz.N files since
April, and the directory scan to pick the next free filename is what
intermittently blew the 10s timeout and flapped the dashboard card to
UNHEALTHY. Restored '--tries=1'. The junk was in the writable layer, so the
recreate cleared it. Now healthy, fails=0, 200 in 0.16s.

seafile: none of the three services declared a restart policy, so Docker
defaulted them to 'no'. The daemon stopped all three within 200ms on
2026-05-06 and nothing brought them back — a three-month outage whose only
trace was an EXITED card. Exit 255 is what a container ignoring SIGTERM
reports when the daemon stops it, not a crash. Added restart: unless-stopped.
Stack is back up; mysql gates on its healthcheck as designed and seahub
started without the race. 302 -> login page.

Both stacks were running unmanaged on ana-docker and are now tracked here.

homepage: AI tab reordered by clickability per operator — chat frontends,
ComfyUI and the control plane on top; vLLM /docs seats and TTS endpoints
below. Corrects the previous commit's UNRESOLVED tab-bar section: it was
warm-up time after a recreate, not a defect.
This commit is contained in:
vh
2026-08-18 22:27:15 -07:00
parent 9d92c4bd21
commit 42c594c29f
5 changed files with 306 additions and 29 deletions
+73
View File
@@ -0,0 +1,73 @@
# =============================================================================
# SearXNG Custom Settings — overrides defaults from the container image
# Full reference: https://docs.searxng.org/admin/settings/index.html
# =============================================================================
use_default_settings:
engines:
remove:
- wikidata
- ahmia
- torch
- karmasearch
- karmasearch.videos
- brave
- brave.images
- brave.news
- brave.videos
general:
instance_name: "SearXNG"
instance_about_url: false
contact_url: false
debug: false
# Disable public metrics page (/stats/errors) to reduce attack surface
enable_metrics: false
search:
safe_search: 0
# "" disables; "duckduckgo" is the most private working option
autocomplete: ""
default_lang: "auto"
formats:
- html
- json
# 3s is too tight; 8s covers slower engines without hanging the UI
request_timeout: 8.0
# Ban time after an engine raises a suspended-time exception (default 86400)
ban_time_on_fail: 60
max_ban_time_on_fail: 600
server:
# REQUIRED. Generate with: openssl rand -hex 32
# Prefer setting SEARXNG_SECRET in docker-compose and letting the entrypoint
# substitute it; hardcoding a real secret here is a leak risk.
#secret_key: "changeme_please_generate_a_secret"
bind_address: "0.0.0.0"
port: 8080
# Enable ONLY if you ship a limiter.toml AND your proxy forwards X-Real-IP.
# Otherwise you'll get "X-Forwarded-For nor X-Real-IP header is set!" noise.
limiter: false
# Mark as true if instance is internet-facing; tightens some defaults.
public_instance: false
base_url: "https://searxng.pfi.local/"
# Allow only GET to the search endpoint (simpler, works with most clients)
method: "GET"
compression: true
# Set to true if you need image_proxy rewriting for privacy
image_proxy: false
# Outgoing HTTP pool — tuned for a low-traffic private instance.
# Defaults are fine for most, but these reduce memory use and tighten timeouts.
outgoing:
request_timeout: 6.0
max_request_timeout: 12.0
pool_connections: 100
pool_maxsize: 20
enable_http2: true
# Uncomment if you want to route outbound traffic via Tor for .onion engines
# proxies:
# all://:
# - socks5h://tor:9050