Tropic Host

SearXNG: co to je a jak si nainstalovat vlastní vyhledávač na VPS

6 min čtení
Tropic
SearXNG: co to je a jak si nainstalovat vlastní vyhledávač na VPS

Language: cs

SearXNG: vlastní vyhledávač bez sledování na VPS

Běžný vyhledávač může spojit dotaz s IP adresou, cookies a historií aktivity. SearXNG tento postup mění: prohlížeč se připojí k vaší instanci, která se dotáže několika externích vyhledávačů a jejich odpovědi spojí na jedné stránce.

Externí zdroje vidí adresu serveru SearXNG, nikoli cookies uživatele. Samotná služba nevytváří reklamní profil. Nejde však o úplnou anonymitu: vlastník veřejné instance může technicky uchovávat logy a po otevření odkazu komunikuje cílový web s prohlížečem znovu.

Projdeme si možnosti SearXNG a nainstalujeme vlastní instanci na VPS s HTTPS a ochranou heslem.

Co je SearXNG a jak funguje

SearXNG je bezplatný metavyhledávač s otevřeným zdrojovým kódem. Neudržuje vlastní index webů: služba získává výsledky z nakonfigurovaných vyhledávačů a specializovaných zdrojů, sjednotí je a zobrazí v jediném rozhraní.

Browser → your SearXNG → search engines
                         ↓
                  combined results

Pro každý dotaz SearXNG:

  1. určí kategorii hledání: web, obrázky, zprávy, videa nebo jinou kategorii;
  2. kontaktuje vybrané zdroje jménem serveru;
  3. neposílá jim cookies uživatele a pro odchozí požadavky používá náhodný profil prohlížeče;
  4. spojí odpovědi do jedné stránky s výsledky.

Rychlost závisí na externích systémech: mohou odpovídat pomalu, zobrazit CAPTCHA nebo zablokovat IP adresu. SearXNG je spravovaná mezivrstva, nikoli autonomní index.

Proč je SearXNG zajímavější než jediný vyhledávač

Různé zdroje na jedné stránce výsledků

Můžete kombinovat běžné vyhledávače se specializovanými zdroji: encyklopediemi, mapami, vědeckými publikacemi, repozitáři, zpravodajskými službami nebo katalogy obrázků. Hodí se to, když je běžná stránka výsledků zahlcená SEO stránkami nebo obtížně hledá úzce zaměřené informace.

V době přípravy tohoto článku dokumentace uváděla 272 integrací, z nichž 83 bylo ve výchozím nastavení aktivních. Neznamená to, že jsou všechny stejně stabilní.

Sada závisí na konfiguraci. Několik stabilních zdrojů obvykle funguje rychleji než aktivace všeho najednou.

Rychlé příkazy

Zkratky umožňují dočasně vybrat vyhledávač, kategorii nebo jazyk:

!wp docker compose       — search Wikipedia
!images northern lights  — search for images
:en !wp proxy server     — search Wikipedia in English

Příkaz !! přesměruje uživatele přímo na externí vyhledávač. V tomto režimu už ochrana SearXNG neplatí.

Vyhledávání pro prohlížeč a vlastní nástroje

SearXNG podporuje OpenSearch, takže ho lze nastavit jako výchozí vyhledávač prohlížeče. K dispozici je také HTTP API s odpověďmi ve formátu JSON, CSV nebo RSS, pokud administrátor povolil požadované formáty.

Jedna instance může sloužit jako vyhledávací backend pro interní dashboard, bota, výzkumný skript nebo lokálního AI asistenta. API vystavujte až po nastavení autentizace a limitů požadavků.

Jak soukromý je SearXNG

Co děláCo nedělá
Neposílá cookies prohlížeče externím vyhledávačůmNeposkytuje úplnou anonymitu
Skryje IP uživatele za IP adresou serveruNechrání uživatele po otevření webu z výsledků
Odstraňuje reklamu třetích stran a některé parametry sledováníNezaručuje, že vlastník cizího serveru neuchovává logy
Dokáže fungovat jako proxy pro obrázkyNenahrazuje VPN, Tor ani ochranu prohlížeče

Veřejná instance je vhodná pro vyzkoušení služby, ale musíte důvěřovat jejímu správci a sdílená IP adresa bude pravděpodobně častěji omezována.

Vlastní server vám dává kontrolu nad logy, zdroji a přístupem, ale prohlížeč díky němu nebude anonymní.

Veřejná instance, domácí server nebo VPS

MožnostVýhodyOmezení
Veřejná instanceNení třeba nic instalovatDůvěra ve vlastníka, přetížení, CAPTCHA
Domácí serverÚplná kontrola bez pronájmu VPSZařízení musí běžet nepřetržitě; externí přístup se konfiguruje obtížněji
Vlastní VPSProvoz 24/7, doména, HTTPS, přístup z různých zařízeníKontejnery je třeba aktualizovat a sledovat zabezpečení

Vlastní instance SearXNG je užitečná pro rodinu, tým, vývojáře nebo lokální AI nástroje. Pro občasné hledání je jednodušší veřejná instance.

Jaké VPS SearXNG potřebuje

Zátěž závisí na počtu uživatelů, zdrojů a souběžných dotazů. Praktické výchozí konfigurace:

ScénářCPURAMÚložiště
Jeden uživatel1 vCPU1 GB10 GB
Rodina nebo malý tým2 vCPU2 GB20 GB
API a další služby2–4 vCPUod 4 GBod 30 GB

Velký disk není nutný. Důležitější je kvalita sítě, stabilní IP adresa a volná RAM.

Pro tento scénář se hodí Linux VPS od tropic.host: můžete začít s malou konfigurací a zdroje navyšovat podle toho, jak přidáváte uživatele nebo API přístup. Při výběru tarifu je užitečnější investovat do RAM a kvality sítě než přeplácet kapacitu úložiště.

Instalace SearXNG na VPS pomocí Docker Compose

Tento příklad používá Ubuntu 24.04 LTS, search.example.com, Valkey a Caddy. Nastavte DNS záznam A na server a otevřete porty 80 a 443.

1. Nainstalujte Docker a vytvořte adresář

sudo apt update
sudo apt install -y docker.io docker-compose-v2 openssl
sudo systemctl enable --now docker

sudo mkdir -p /opt/searxng/searxng
cd /opt/searxng

Vytvořte soubor .env s doménou a náhodným tajemstvím:

printf 'SEARXNG_HOSTNAME=search.example.com\nSEARXNG_SECRET=%s\n' \
  "$(openssl rand -hex 32)" | sudo tee .env >/dev/null
sudo chmod 600 .env

2. Vytvořte docker-compose.yml

name: searxng

services:
  searxng:
    image: docker.io/searxng/searxng:latest
    restart: unless-stopped
    environment:
      SEARXNG_BASE_URL: https://${SEARXNG_HOSTNAME}/
      SEARXNG_SECRET: ${SEARXNG_SECRET}
      SEARXNG_VALKEY_URL: valkey://valkey:6379/0
    volumes:
      - ./searxng:/etc/searxng:rw
      - searxng-cache:/var/cache/searxng
    depends_on: [valkey]

  valkey:
    image: docker.io/valkey/valkey:9-alpine
    restart: unless-stopped
    command: valkey-server --save 30 1 --loglevel warning
    volumes:
      - valkey-data:/data

  caddy:
    image: docker.io/caddy:2-alpine
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    environment:
      SEARXNG_HOSTNAME: ${SEARXNG_HOSTNAME}
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy-data:/data
      - caddy-config:/config
    depends_on: [searxng]

volumes:
  searxng-cache:
  valkey-data:
  caddy-data:
  caddy-config:

3. Nakonfigurujte SearXNG

Vytvořte searxng/settings.yml:

use_default_settings: true

general:
  instance_name: "Private Search"

search:
  safe_search: 1
  autocomplete: ""
  formats: [html]

server:
  limiter: true
  image_proxy: true

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

Vytvořte searxng/limiter.toml:

[botdetection]
trusted_proxies = [
  "127.0.0.0/8",
  "::1",
  "172.16.0.0/12",
]

Omezovač snižuje riziko, že boti instanci přetíží a externí vyhledávače její IP adresu dříve omezí.

4. Přidejte heslo a HTTPS

Vygenerujte hash silného hesla:

sudo docker run --rm caddy:2-alpine \
  caddy hash-password --plaintext 'REPLACE_WITH_PASSWORD'

Vložte výsledný hash do Caddyfile:

{$SEARXNG_HOSTNAME} {
    basic_auth {
        searchuser INSERT_HASH_HERE
    }

    reverse_proxy searxng:8080 {
        header_up X-Real-IP {remote_host}
    }
}

Caddy ukládá hash, nikoli heslo v otevřeném textu. Místo Basic Auth lze službu omezit také na VPN.

5. Spusťte kontejnery

sudo docker compose config
sudo docker compose pull
sudo docker compose up -d
sudo docker compose ps

Otevřete https://search.example.com. Caddy automaticky získá certifikát TLS a prohlížeč poté vyžádá uživatelské jméno searchuser a heslo. Logy SearXNG zobrazíte tímto příkazem:

sudo docker compose logs -f searxng

Co nastavit po spuštění

Ponechte jen užitečné zdroje, vyberte jazyk a nastavení SafeSearch a potom přidejte SearXNG do prohlížeče pomocí OpenSearch. Aktualizaci provedete příkazy:

sudo docker compose pull
sudo docker compose up -d

Zálohujte .env, Caddyfile a adresář searxng. JSON API zapínejte jen tehdy, když je potřeba, a nenechávejte ho bez hesla a omezení rychlosti.

Časté chyby

ChybaDůsledekŘešení
Zpřístupníte instanci veřejněBoti vytvářejí zátěž a IP je častěji omezovánaPoužijte heslo, VPN nebo jednotné přihlášení
Aktivujete příliš mnoho zdrojůPomalé výsledky a vypršení požadavkůPonechte několik stabilních vyhledávačů
Považujete SearXNG za vlastní indexNěkteré výsledky zmizí při výpadku externích systémůPočítejte s jeho závislostí na zdrojích
Očekáváte úplnou anonymituCílový web může prohlížeč stále sledovatPoužijte ochranu prohlížeče, VPN nebo Tor
Provozujete ho bez HTTPSDotazy a heslo se přenášejí nezabezpečeněPoužijte reverse proxy s TLS

Závěr

SearXNG kombinuje různé zdroje v jediném rozhraní, omezuje personalizaci a poskytuje jednu vyhledávací službu pro prohlížeč, skripty nebo lokální AI. Veřejná instance stačí na vyzkoušení. Pro pravidelné používání je lepší vlastní server s HTTPS, autentizací, omezovačem a malou sadou stabilních zdrojů.

Začít můžete s 1 GB RAM. Zdroje navyšujte podle toho, jak roste počet uživatelů, když povolíte API nebo spouštíte další kontejnery.

FAQ

Je SearXNG zcela anonymní?

Ne. Před externími vyhledávači skrývá některé údaje, ale správce instance může uchovávat logy. Po otevření webu se uplatní jeho vlastní mechanismy sledování.

Je SearXNG lepší než Google?

Řeší jiný problém. Google bývá rychlejší a výsledky více personalizuje. SearXNG vám dává větší kontrolu, umožňuje kombinovat zdroje a méně závisí na uživatelském profilu.

Lze SearXNG používat bez VPS?

Ano. Můžete použít veřejnou instanci, domácí počítač, NAS nebo mini-server. VPS je potřeba pro přístup 24/7 z libovolné sítě.

Kolik RAM je potřeba?

Pro jednoho uživatele je rozumným začátkem 1 GB. Pro rodinu, tým, API nebo další kontejnery jsou vhodnější 2–4 GB.

Lze SearXNG připojit k prohlížeči nebo AI?

Ano. Prohlížeč může používat OpenSearch a aplikace HTTP API. Přístup k API musí být chráněn autentizací a omezovačem.