Meta-API / run.sh
sandeepmudhiraj's picture
Upload folder using huggingface_hub
da933f6 verified
Raw
History Blame Contribute Delete
1.59 kB
#!/bin/bash
# v7 — Process-safe launcher
cd /usr/local/searxng
# Patch settings (same logic as your old run.sh but simplified)
python3 << 'PYEOF'
import secrets, os
f = os.environ.get("SEARXNG_SETTINGS_PATH", "/etc/searxng/settings.yml")
if not os.path.exists(f):
f = "searx/settings.yml"
lines = open(f).readlines()
output = []
json_added = False
for line in lines:
s = line.strip()
if "ultrasecretkey" in line:
line = line.replace("ultrasecretkey", secrets.token_hex(32))
if s.startswith("port:") and "8080" in s:
line = line.replace("8080", "7860")
if "bind_address" in s and "127.0.0.1" in s:
line = line.replace("127.0.0.1", "0.0.0.0")
if s.startswith("limiter:") and "true" in s:
line = line.replace("true", "false")
if s.startswith("image_proxy:") and "true" in s:
line = line.replace("true", "false")
if s == "- html" and not json_added:
output.append(line)
indent = line[:len(line) - len(line.lstrip())]
output.append(f"{indent}- json\n")
json_added = True
continue
output.append(line)
open(f, "w").writelines(output)
print(f"Settings patched, json_format={json_added}")
PYEOF
echo "Starting engine on port 7860..."
# Run via werkzeug — process name is "python3", not "searxng" or "granian"
exec python3 -c "
import os
os.environ['SEARXNG_SETTINGS_PATH'] = '/etc/searxng/settings.yml'
os.chdir('/usr/local/searxng')
from searx.webapp import app
from werkzeug.serving import run_simple
run_simple('0.0.0.0', 7860, app, threaded=True, use_reloader=False)
"