SSD Nodes Learn 8GB RAM — సంవత్సరానికి $66
మార్గదర్శకాలు Matt Connorద్వారా Matt Connor · అప్‌డేట్ చేయబడింది 2026-08-01

SearXNGని సెల్ఫ్-హోస్ట్ చేయడం ఎలా?

Docker Compose ఉపయోగించి మీ స్వంత సర్వర్‌లో SearXNGని సెటప్ చేయండి. settings.yml కాన్ఫిగరేషన్, Nginx TLS సెటప్ మరియు మీ స్క్రిప్ట్‌ల కోసం ఉచిత JSON సెర్చ్ APIని ఎలా పొందాలో ఇక్కడ

మీరు ఏమి నిర్మిస్తున్నారు

SearXNGని సెల్ఫ్-హోస్ట్ చేయడం ద్వారా, మీరు మీ స్వంత సర్వర్‌లో నడిచే ఒక ప్రైవేట్ సెర్చ్ ఇంజిన్‌ను పొందుతారు. SearXNG అనేది ఒక మెటాసెర్చ్ ఇంజిన్: ఇది మీ క్వెరీని తీసుకుని, Google, Bing, DuckDuckGo మరియు Wikipedia వంటి ఇతర ఇంజిన్‌లను అడుగుతుంది, ఆపై వచ్చిన ఫలితాలను కలిపి ఒకే రిజల్ట్ పేజీగా చూపిస్తుంది. ఇందులో ఎటువంటి ప్రొఫైల్ రూపొందించబడదు మరియు ట్రాకింగ్ కుకీలు సెట్ చేయబడవు, ఎందుకంటే మీ క్వెరీని నిల్వ చేసే ఏకైక యంత్రం మీదే.

ఈ స్టాక్ చాలా చిన్నది. రెండు కంటైనర్లు, ఒక సెట్టింగ్స్ ఫైల్, ఒక రివర్స్ ప్రాక్సీ. మీ ఇన్‌స్టాన్స్ ప్రైవేట్‌గా ఉండాలా (అంటే మీరు మరియు మీ స్క్రిప్ట్‌లు మాత్రమే దాన్ని యాక్సెస్ చేయగలవు) లేదా పబ్లిక్‌గా ఉండాలా (అంటే ఇంటర్నెట్‌లోని ఎవరైనా దాన్ని ఉపయోగించవచ్చు) అనేది మీరు తీసుకోవాల్సిన అసలైన నిర్ణయం. ఈ ఎంపిక సెక్యూరిటీ సెట్టింగ్‌లను మారుస్తుంది, కాబట్టి ఏదైనా టైప్ చేసే ముందే దీనిపై నిర్ణయం తీసుకోండి. డిఫాల్ట్ ఎంపిక ప్రైవేట్.

దీనిని రన్ చేయడానికి మరొక కారణం ఉంది. SearXNG ఇన్‌స్టాన్స్ JSON ఫార్మాట్‌లో సమాచారాన్ని ఇస్తుంది, కాబట్టి మీరు రాసే ఏదైనా స్క్రిప్ట్ లేదా AI ఏజెంట్ మీకు సొంతమైన సెర్చ్ APIని పొందుతుంది. దీనికి ఎటువంటి కీ అవసరం లేదు, క్వెరీకి ఇంత అని బిల్లింగ్ ఉండదు మరియు కోటాకు సంబంధించిన ఇమెయిల్‌లు రావు.

Docker Compose ఉపయోగించి SearXNGని ఇన్‌స్టాల్ చేయడం

ఈ ప్రాజెక్ట్ ఒక కంటైనర్ ఇమేజ్‌ను మరియు ఒక Compose ఫైల్‌ను విడుదల చేస్తుంది. Docker Engine మరియు Compose ప్లగిన్ ఇప్పటికే ఉన్న కొత్త Ubuntu 24.04 సర్వర్‌లోకి వీటిని డౌన్‌లోడ్ (pull) చేయండి. మీకు Docker కొత్త అయితే, ముందుగా VPSలో Docker Compose ప్రాథమికాంశాలు చదివి, ఆపై తిరిగి రండి.

sudo install -d -o "$USER" -g "$USER" -m 750 /opt/searxng
cd /opt/searxng
mkdir -p core-config
curl -fsSL \
  -O https://raw.githubusercontent.com/searxng/searxng/master/container/docker-compose.yml \
  -O https://raw.githubusercontent.com/searxng/searxng/master/container/.env.example
cp -i .env.example .env

ఈ Compose ఫైల్ రెండు సర్వీసులను నిర్వచిస్తుంది. core అనేది SearXNG, మరియు valkey అనేది రేట్ లిమిటింగ్ మరియు స్వల్పకాలిక స్థితి (state) కోసం ఉపయోగించే ఇన్-మెమరీ డేటా స్టోర్. ఇది ./core-config/ని కంటైనర్ లోపల /etc/searxng/ వద్ద మౌంట్ చేస్తుంది, కాబట్టి మీరు కాన్ఫిగర్ చేసే ప్రతిదీ హోస్ట్ మెషీన్‌లోని ఆ ఒక్క డైరెక్టరీలోనే ఉంటుంది.

ఇప్పుడు .envని ఎడిట్ చేయండి. అందించిన ఉదాహరణలో ప్రతి లైన్ కామెంట్ చేయబడి ఉంటుంది, అందుకే కంటైనర్ ప్రతి అడ్రస్‌లో 8080 పోర్ట్‌పై ప్రారంభమవుతుంది. ఈ మూడు లైన్లను అన్‌కామెంట్ చేసి సెట్ చేయండి.

SEARXNG_VERSION=latest
SEARXNG_HOST=127.0.0.1
SEARXNG_PORT=8080

SEARXNG_HOST=127.0.0.1 అనేది చాలా ముఖ్యమైనది. ఇది పబ్లిష్ చేసిన పోర్ట్‌ను [::]:8080:8080కి బదులుగా 127.0.0.1:8080:8080గా మారుస్తుంది, తద్వారా కంటైనర్ కేవలం లూప్‌బ్యాక్ అడ్రస్‌పై మాత్రమే స్పందిస్తుంది మరియు ఇంటర్నెట్ ద్వారా నేరుగా యాక్సెస్ చేయలేము. దీన్ని విస్మరిస్తే, కంటైనర్ ప్రారంభమైన వెంటనే బహిర్గతం అవుతుంది, ఎందుకంటే పబ్లిష్ చేసిన Docker పోర్ట్ మీ ఫైర్‌వాల్ రూల్స్ కంటే ముందుగా అమర్చబడుతుంది. ఆ ప్రమాదం గురించి పూర్తిగా చదవడం మంచిది: పబ్లిష్ చేసిన Docker పోర్ట్‌లు ufwని దాటవేస్తాయి.

మీరు నేర్చుకుంటున్న సమయంలో SEARXNG_VERSION=latest సరిపోతుంది. మీరు ప్రాధాన్యత ఇచ్చే సర్వర్‌లో, ట్యాగ్‌ను పిన్ చేయండి. జూలై 2026 నాటికి, విడుదల ట్యాగ్‌లు తేదీ ఆధారంగా 2026.3.25-541c6c3cb వలె ఉంటాయి, కాబట్టి మీరు నిర్ణయించుకున్నప్పుడు మాత్రమే డిప్లాయ్‌మెంట్ అప్‌గ్రేడ్ అవుతుంది, రిజిస్ట్రీలో మార్పులు జరిగినప్పుడు కాదు.

settings.yml: ముఖ్యమైన భాగాలు

మొదటిసారి ప్రారంభించే ముందు core-config/settings.ymlని సృష్టించండి. use_default_settings: true, SearXNG తన సొంత డిఫాల్ట్ సెట్టింగ్‌లను లోడ్ చేసి, ఆపై మీరు రాసిన కీలను మాత్రమే వర్తింపజేయాలని సూచిస్తుంది. దీనివల్ల మీ ఫైల్ చిన్నదిగా ఉంటుంది మరియు కొత్త ఆప్షన్లను జోడించే అప్‌గ్రేడ్‌ల తర్వాత కూడా ఇది చెక్కుచెదరకుండా ఉంటుంది.

ముందుగా సీక్రెట్ కీని జనరేట్ చేయండి, ఎందుకంటే ఆ విలువ నేరుగా ఫైల్‌లోకి వెళ్తుంది.

openssl rand -hex 32
use_default_settings: true

general:
  instance_name: "search.example.com"

server:
  base_url: "https://search.example.com/"
  secret_key: "paste-the-openssl-output-here"
  limiter: false
  public_instance: false
  image_proxy: true

valkey:
  url: valkey://valkey:6379/0

search:
  safe_search: 0
  autocomplete: "duckduckgo"
  formats:
    - html
    - json

secret_key సెషన్ మరియు టోకెన్ డేటాను సైన్ చేస్తుంది. డిఫాల్ట్‌గా ఉండే విలువ ultrasecretkey అనే స్ట్రింగ్. దీన్ని అలాగే ఉంచితే, ఆ డిఫాల్ట్ విలువ తెలిసిన ఎవరైనా టోకెన్లను ఫోర్జరీ చేయవచ్చు. దీన్ని ఒక్కసారి మార్చండి, ఆపై అలాగే వదిలేయండి: తర్వాత దీన్ని మార్చడం వల్ల సేవ్ చేసిన అన్ని ప్రాధాన్యతలు (preferences) తొలగిపోతాయి.

base_url అనేది పబ్లిక్ HTTPS అడ్రస్ అయి ఉండాలి, చివరలో స్లాష్ (/) ఉండాలి. SearXNG తాను రూపొందించే లింకులలో దీన్నే రాస్తుంది. దీన్ని localhostకి పాయింట్ చేస్తే, రిమోట్ బ్రౌజర్‌లో "next page" లింక్ యూజర్ సొంత మెషీన్‌కు పాయింట్ అవుతుంది మరియు అది పని చేయదు.

formats వెబ్ ఎండ్‌పాయింట్ ఏ రకమైన అవుట్‌పుట్‌లను ఉత్పత్తి చేయాలో నిర్ణయిస్తుంది. json డిఫాల్ట్ జాబితాలో ఉండదు, కాబట్టి మీరు దాన్ని జోడించే వరకు JSON రిక్వెస్ట్ 403 ఎర్రర్‌ను ఇస్తుంది. image_proxy: true రిజల్ట్ థంబ్‌నెయిల్‌లను మీ సర్వర్ ద్వారా రూట్ చేస్తుంది, తద్వారా ఆ చిత్రాలను హోస్ట్ చేసే సైట్‌లు మీ సందర్శకుల అడ్రస్‌లను చూడలేవు.

valkey.url, valkey అనే హోస్ట్‌నేమ్‌ను ఉపయోగిస్తుంది, ఎందుకంటే Compose ఫైల్‌లో సర్వీస్ పేరు అదే. Compose రెండు కంటైనర్లను ఒకే నెట్‌వర్క్‌లో ఉంచుతుంది, అక్కడ సర్వీస్ పేర్లు రిజాల్వ్ అవుతాయి. దీన్ని localhostకి పాయింట్ చేస్తే లిమిటర్ పని చేయదు, ఎందుకంటే core కంటైనర్ లోపల localhost అంటే ఆ కంటైనరే అవుతుంది.

సీక్రెట్ కీ ఒక సాధారణ ఫైల్‌లో ఉంటుంది, కాబట్టి ఫైల్‌ను మాత్రమే కాకుండా దాని చుట్టూ ఉన్న డైరెక్టరీని రక్షించండి. chmod 750 /opt/searxng ఇతర హోస్ట్ యూజర్లు లోపలికి రాకుండా చేస్తుంది. core-config/settings.ymlని 600 మోడ్‌కు తగ్గించవద్దు: కంటైనర్ తన సొంత అన్‌ప్రివిలేజ్డ్ యూజర్‌గా రన్ అవుతుంది, కంటైనర్ చదవలేని ఫైల్ ఉంటే SearXNG అస్సలు ప్రారంభం కాదు.

స్టాక్‌ను ప్రారంభించి, దాన్ని తనిఖీ చేయండి.

cd /opt/searxng
docker compose up -d
docker compose ps
curl -I http://127.0.0.1:8080/

docker compose ps రెండు కంటైనర్లు running స్థితిలో ఉన్నాయని చూపించాలి. curl, HTTP/1.1 200 OK అని సమాధానం ఇవ్వాలి. ఒకవేళ ఏ సమాధానం రాకపోతే, docker compose logs coreని చదవండి, ఎందుకంటే settings.ymlలో ఏదైనా YAML తప్పు ఉంటే అది అక్కడ లైన్ నంబర్‌తో సహా పార్స్ ఎర్రర్‌గా కనిపిస్తుంది.

nginx మరియు TLS వెనుక ఉంచడం

ఈ కంటైనర్ కేవలం loopback లో మాత్రమే వింటుంది, కాబట్టి nginx దీనిని అందుబాటులోకి తెస్తుంది మరియు ఇది రవాణా పొర భద్రతను (TLS) కూడా జోడిస్తుంది. /etc/nginx/sites-available/searxng ఫైల్‌ను వ్రాయండి.

server {
    listen 80;
    server_name search.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
sudo ln -s /etc/nginx/sites-available/searxng /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
sudo certbot --nginx -d search.example.com

మీరు రీలోడ్ చేయడానికి ముందు nginx -t కమాండ్ syntax is ok మరియు test is successful లను ప్రింట్ చేస్తుంది. Certbot అదే ఫైల్‌ను తిరిగి వ్రాసి, సర్టిఫికేట్‌తో 443 పోర్ట్‌లో వినేలా చేస్తుంది మరియు పోర్ట్ 80 నుండి రీడైరెక్ట్‌ను జోడిస్తుంది. search.example.com కోసం DNS రికార్డ్ ఇప్పటికే ఈ సర్వర్‌ను సూచించాలి, ఎందుకంటే సర్టిఫికేట్ అథారిటీ HTTP ద్వారా ఫైల్‌ను పొందడం ద్వారా యాజమాన్యాన్ని ధృవీకరిస్తుంది. పునరుద్ధరణతో సహా పూర్తి వివరణ Ubuntu 24.04 కోసం Certbot మరియు nginx గైడ్ లో ఉంది.

రెండు ఫార్వార్డింగ్ హెడర్లు కేవలం అలంకరణ కోసం కావు. X-Forwarded-For మరియు X-Real-IP లేకపోతే, SearXNG కి వచ్చే ప్రతి అభ్యర్థన ప్రాక్సీ చిరునామాను కలిగి ఉంటుంది, దీనివల్ల రేట్ లిమిటర్ మొత్తం ట్రాఫిక్‌ను ఒకే క్లయింట్ చేస్తున్నట్లుగా చూస్తుంది మరియు సందర్శకులను వేరు చేయలేదు.

స్క్రిప్ట్‌లు మరియు ఏజెంట్‌లకు JSON సెర్చ్ API ఎందుకు అవసరం

json లోని formats తో, పేజీని రెండర్ చేసే అదే ఎండ్‌పాయింట్ నిర్మాణాత్మక డేటాను (structured data) తిరిగి ఇస్తుంది.

curl -s 'http://127.0.0.1:8080/search?q=wireguard+mtu&format=json' \
  | jq -r '.results[0:5][] | .url'

మీకు results అర్రే (array) ఉన్న ఒక ఆబ్జెక్ట్ అందుతుంది. ఇందులో ప్రతి ఎంట్రీ url, title, content మరియు దానిని అందించిన ఇంజిన్‌ను, అలాగే answers, infoboxes మరియు suggestions తో పాటు కలిగి ఉంటుంది. సమ్మరైజర్, లింక్ చెకర్ లేదా రీసెర్చ్ లూప్‌కు డేటాను అందించడానికి ఇది సరిపోతుంది.

ఏజెంట్ తరహాలో ఉండే దేనికైనా ఇది ముఖ్యం. లాంగ్వేజ్ మోడల్‌కు ట్రైనింగ్ కటాఫ్ ఉంటుంది, కాబట్టి ప్రస్తుత విషయాల గురించి సమాధానం ఇవ్వడానికి దానికి లైవ్ సెర్చ్ అవసరం. కమర్షియల్ సెర్చ్ APIలు ప్రతి క్వెరీకి ఛార్జ్ చేస్తాయి మరియు రేట్ లిమిట్‌లను కఠినంగా అమలు చేస్తాయి. లోకల్ ఇన్‌స్టాన్స్ కోసం మీరు ఇప్పటికే చెల్లిస్తున్న సర్వర్‌లోని ఒక కంటైనర్ ఖర్చు అవుతుంది, మరియు క్వెరీలు సర్వర్ దాటి బయటకు వెళ్లవు. మీరు మోడల్‌కు టూల్స్‌ను అనుసంధానిస్తున్నట్లయితే, అదే కారణంతో VPSలో MCP సర్వర్‌లను రన్ చేయడం జరుగుతుంది, ఇందులో సెర్చ్ టూల్ అనేది సాధారణంగా అందరూ మొదట జోడించేది.

API వినియోగం కోసం రెండు నియమాలు ఉన్నాయి. ఇన్‌స్టాన్స్‌ను ప్రైవేట్‌గా ఉంచండి, కాబట్టి API వైపు లూప్‌బ్యాక్ అడ్రస్ (loopback address) లేదా ప్రైవేట్ నెట్‌వర్క్‌కు బైండ్ చేయండి మరియు మీ స్వంత హోస్ట్‌లను మాత్రమే దానిని యాక్సెస్ చేయడానికి అనుమతించండి. ఆ తర్వాత, జాగ్రత్తగా క్వెరీ చేయండి. SearXNG మీ అభ్యర్థనను అసలైన సెర్చ్ ఇంజిన్‌లకు ఫార్వర్డ్ చేస్తుంది, కాబట్టి సెకనుకు వంద క్వెరీలు రన్ చేసే స్క్రిప్ట్ మీ సర్వర్‌ను బ్లాక్ చేయమని Googleని కోరినట్లు అవుతుంది.

లిమిటర్ మరియు పబ్లిక్ ఇన్‌స్టెన్స్ కోసం మారే అంశాలు

లిమిటర్ అనేది SearXNG యొక్క బాట్ డిఫెన్స్. ఇది రిక్వెస్ట్ హెడర్‌లు, అడ్రస్‌లు మరియు రిక్వెస్ట్ రేట్‌లను పర్యవేక్షిస్తుంది, ఆటోమేటెడ్‌గా అనిపించే ట్రాఫిక్‌ను ఇది నిలిపివేస్తుంది. ఈ స్థితిని నిల్వ చేయడానికి దీనికి Valkey అవసరం, అందుకే Compose ఫైల్‌లో ఇది అందించబడింది.

ప్రైవేట్ ఇన్‌స్టెన్స్‌లో limiter: falseని అలాగే ఉంచండి. మీ స్వంత స్క్రిప్ట్‌లు నిర్వచనం ప్రకారం ఆటోమేటెడ్ ట్రాఫిక్, కాబట్టి మీరు ఏ JSON కాల్స్ కోసం అయితే ఇన్‌స్టెన్స్‌ను నిర్మించారో, వాటినే లిమిటర్ బ్లాక్ చేస్తుంది. యాక్సెస్ కంట్రోల్ అనేది రివర్స్ ప్రాక్సీ పని: nginx locationలో ఒక allow మరియు deny జతను ఉపయోగించడం, HTTP బేసిక్ అథెంటికేషన్, లేదా మీ ఇతర సర్వర్‌లను మాత్రమే అనుమతించే ఫైర్‌వాల్‌ను వాడటం మంచిది.

ఒకవేళ మీరు ఇన్‌స్టెన్స్‌ను ఇతరుల కోసం పబ్లిష్ చేస్తుంటే, రెండు స్విచ్‌లను ఆన్ చేయండి.

server:
  limiter: true
  public_instance: true

మరింత ఖచ్చితమైన నియంత్రణ core-config/limiter.tomlలో ఉంటుంది, దీనిని కంటైనర్ /etc/searxng/limiter.toml వద్ద రీడ్ చేస్తుంది. మీరు మార్చాలనుకుంటున్న కీలను మాత్రమే అక్కడ రాయండి. ప్రాక్సీ వెనుక ఉన్నప్పుడు మీరు ప్రాక్సీని తప్పనిసరిగా డిక్లేర్ చేయాలి, లేకపోతే లిమిటర్ మీ nginx అడ్రస్‌ను దుర్వినియోగం చేసే క్లయింట్‌గా పరిగణిస్తుంది.

[botdetection]
trusted_proxies = [
  '127.0.0.0/8',
  '::1',
]

[botdetection.ip_limit]
link_token = true

link_token = true ద్వారా SearXNG ఒక టోకెన్‌ను జారీ చేస్తుంది, దీనిని కేవలం నిజమైన బ్రౌజర్ సెషన్ మాత్రమే పొందగలదు, ఇది చాలా వరకు సాధారణ స్క్రాపర్‌లను నిరోధిస్తుంది. పబ్లిక్ ఇన్‌స్టెన్స్‌ను ప్రారంభించిన కొద్ది రోజుల్లోనే ఇవి వచ్చే అవకాశం ఉంది. ఇంజిన్ ఎర్రర్‌లను కూడా ఆశించండి, ఎందుకంటే మీరు ఎంత ఎక్కువ ట్రాఫిక్‌ను ఫార్వర్డ్ చేస్తే, అప్‌స్ట్రీమ్ ఇంజిన్‌లు మీ సర్వర్ అడ్రస్‌కు అంత త్వరగా CAPTCHAలను పంపడం ప్రారంభిస్తాయి. పబ్లిక్ SearXNG ఇన్‌స్టెన్స్‌ను నిర్వహించడం అనేది నిరంతర ప్రక్రియ. ప్రైవేట్ ఇన్‌స్టెన్స్ అలా కాదు, అందుకే ఇది 2026లో సెల్ఫ్-హోస్ట్ చేయడానికి తగిన విషయాల జాబితాలో ఉంటుంది.

శోధనలు ఎందుకు ఫలితాలను చూపడం లేదు

మీ ఇన్‌స్టాన్స్‌లో /statsని తెరవండి. ఇది ప్రతి ఇంజిన్ యొక్క ఎర్రర్ రేట్ మరియు రెస్పాన్స్ టైమ్‌ను జాబితా చేస్తుంది. ఫలితాలు తక్కువగా ఉన్నప్పుడు మొదట చూడవలసిన ప్రదేశం ఇదే.

"Access denied" లేదా "CAPTCHA" ఎర్రర్‌లను చూపే ఇంజిన్ మీ సర్వర్ అడ్రస్‌ను బ్లాక్ చేసిందని అర్థం. డేటా సెంటర్ పరిధిలోని అడ్రస్‌లకు ఇది సాధారణం, ఎందుకంటే సెర్చ్ ఇంజిన్‌లు అవి స్క్రాపర్‌లకు చెందినవని భావిస్తాయి. అప్పుడు SearXNG విఫలమైన ఇంజిన్‌ను మళ్లీ ప్రయత్నించడానికి బదులుగా కొంత సమయం పాటు నిలిపివేస్తుంది, కాబట్టి బ్లాక్ చేయబడిన ఒక ఇంజిన్ మీ ఫలితాల నుండి నిశ్శబ్దంగా తొలగించబడుతుంది. దాన్ని settings.ymlలో డిసేబుల్ చేయండి లేదా ఆ నష్టాన్ని అంగీకరించండి. మిగిలిన ఇంజిన్‌లు ఇప్పటికీ సమాధానాలను అందిస్తాయి.

ఒకవేళ అన్ని ఇంజిన్‌లు ఒకేసారి విఫలమైతే, కంటైనర్‌కు ఇంటర్నెట్ కనెక్టివిటీ లేదా అవుట్‌బౌండ్ నేమ్ రిజల్యూషన్ లేదు అని అర్థం. కంటైనర్ లోపలి నుండి దీన్ని పరీక్షించండి.

docker compose exec core wget -qO- https://duckduckgo.com > /dev/null && echo ok

FAQ

SearXNG నా శోధనలను అజ్ఞాతంగా మారుస్తుందా?

ఇది మీరు శోధించే సెర్చ్ ఇంజిన్‌ల నుండి మీ గుర్తింపును దాచిపెడుతుంది, ఎందుకంటే మీ బ్రౌజర్‌కు బదులుగా మీ సర్వర్ అభ్యర్థనను పంపుతున్నట్లు అవి భావిస్తాయి. ఇది మీ సర్వర్ నుండి శోధన వివరాలను దాచదు మరియు వాటి నుండి మీ సర్వర్‌ను కూడా దాచదు. ఒకే వినియోగదారు ఉన్న ఇన్‌స్టాన్స్‌లో, ఆ చిరునామా నుండి వచ్చే మొత్తం ట్రాఫిక్ మీదే అవుతుంది, కాబట్టి ఆ చిరునామానే మీ గుర్తింపుగా మారుతుంది. మీ బ్రౌజర్ మరియు మీ ఇన్‌స్టాన్స్ మధ్య జరిగే ట్రాఫిక్ TLS సర్టిఫికేట్ ద్వారా రక్షించబడుతుంది.

JSON అభ్యర్థన 403 Forbidden అని ఎందుకు చూపిస్తుంది?

దీనికి రెండు కారణాలు ఉన్నాయి, రెండూ కాన్ఫిగరేషన్‌కు సంబంధించినవే. settings.yml లోని search: కింద ఉన్న formats జాబితాలో json లేకపోవడం (ఇది డిఫాల్ట్ స్థితి), లేదా లిమిటర్ ఆన్‌లో ఉండి మీ స్క్రిప్ట్‌ను బాట్‌గా గుర్తించడం. ముందుగా ఫార్మాట్‌ను జోడించి, docker compose restart core తో రీస్టార్ట్ చేసి, మళ్ళీ ప్రయత్నించండి. ఒకవేళ అప్పటికీ విఫలమైతే, limiter: false ని సెట్ చేసి, రివర్స్ ప్రాక్సీ వద్ద యాక్సెస్‌ను నియంత్రించండి.

నేను లిమిటర్‌ను ఆఫ్ చేస్తే Valkey కంటైనర్ అవసరమా?

దాన్ని రన్ అవుతూనే ఉంచండి. Valkey లేకుండా SearXNG పనిచేస్తుంది, కానీ దానిని తీసివేస్తే తర్వాత లిమిటర్‌ను ఆన్ చేయడం సాధ్యం కాదు, అలాగే ఇది ఇతర స్వల్పకాలిక సమాచారాన్ని కూడా నిల్వ చేస్తుంది. ఈ కంటైనర్ చిన్నది మరియు కేవలం కాష్ చేసిన డేటాను మాత్రమే నిల్వ చేస్తుంది, కాబట్టి దీన్ని తొలగించడం వల్ల పెద్దగా ఆదా ఏమీ ఉండదు, పైగా భవిష్యత్తులో ఆ ఫీచర్‌ను ఉపయోగించుకునే అవకాశాన్ని కోల్పోతారు.

SearXNGని ఎలా అప్‌డేట్ చేయాలి?

/opt/searxng లో docker compose pull ఆపై docker compose up -d రన్ చేయండి. ఇమేజ్ మారిన ఏదైనా కంటైనర్‌ను Compose తిరిగి సృష్టిస్తుంది మరియు మీ core-config/ డైరెక్టరీని ఏమీ చేయదు, కాబట్టి settings.yml సురక్షితంగా ఉంటుంది. use_default_settings: true మీ కీలను డిఫాల్ట్ సెట్టింగ్‌లతో విలీనం చేస్తుంది కాబట్టి, అప్‌స్ట్రీమ్‌లో జోడించిన ఆప్షన్‌లు ఫైల్‌ను పాడు చేయకుండా సరైన విలువలతో అందుతాయి.

ఒకే ఇన్‌స్టాన్స్‌ను పలువురు వ్యక్తులు ఉపయోగించవచ్చా?

అవును, అటువంటి సందర్భంలోనే మీరు లిమిటర్‌ను ఆన్ చేసి public_instance: true ని సెట్ చేయాలి. ప్రాధాన్యతలు ప్రతి సందర్శకుడి బ్రౌజర్‌లోనే నిల్వ చేయబడతాయి, కాబట్టి నిర్వహించడానికి ప్రత్యేక ఖాతాలు ఏవీ ఉండవు. ఇన్‌స్టాన్స్‌ను అందరికీ అందుబాటులోకి తెచ్చిన తర్వాత ఒక వారం పాటు /stats ని గమనిస్తూ ఉండండి, ఎందుకంటే సెర్చ్ ఫలితాలు రావడం ఆగిపోయాయని మీరు గుర్తించే లోపే అప్‌స్ట్రీమ్ ఇంజిన్‌లు మీ సర్వర్‌ను తిరస్కరించడం ప్రారంభించవచ్చు.

#searxng#search#privacy#self-hosting#docker