docker

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > 云和虚拟化 > docker > SearXNG docker部署

Docker部署SearXNG的方法(宝塔面板为例)

作者:进阶的小名

SearXNG 是一款开源的元搜索引擎,通过聚合 Google、Bing、维基百科等 240+ 主流搜索引擎的结果,为用户提供无追踪、去中心化的搜索体验,本文以宝塔面板为例详细介绍SearXNG docker部署方法,感兴趣的朋友一起看看吧

0、SearXNG概述

SearXNG 是一款开源的元搜索引擎,通过聚合 Google、Bing、维基百科等 240+ 主流搜索引擎的结果,为用户提供无追踪、去中心化的搜索体验。
1、在LangChain中应用:赋予大模型联网能力
2、用户可自行部署实例,完全掌控数据和服务稳定性,避免依赖第三方服务的限制。
3、可自定义启用 / 禁用搜索引擎(如 GitHub、ArXiv),并自动去重排序结果,提供更中立的信息视角。
4、提供 JSON 格式的 API 接口,支持通过参数(如 engines、language、time_range)精准控制搜索范围,适合集成到 AI 系统中。

SearXNGSearchApiGoogle CSETavily
开源/商业完全开源商业APIGoogle商业服务商业API
成本完全免费(自托管)按查询付费有限免费配额免费额度+付费
隐私保护★★★★★ (不追踪用户)★★☆ (可能收集数据)★★☆ (Google数据政策)★★★ (声称关注隐私)
自托管能力✅ 完全支持❌ 仅API访问❌ 仅Google服务❌ 仅API访问
结果多样性★★★★★ (聚合70+引擎)★★★☆ (多来源)★★☆ (基于Google)★★★★ (针对LLM优化)
LLM友好度★★★☆ (需处理原始结果)★★★★ (提供结构化数据)★★☆ (需额外处理)★★★★★ (专为LLM设计)
定制灵活性★★★★★ (完全可控)★★★☆ (API参数)★★★☆ (有限配置)★★★☆ (有限配置)
部署复杂度中等(需维护实例)低(只需API密钥)低(简单配置)低(简单配置)
查询限制无(自托管)有(按套餐)有(100查询/天免费)有(免费额度)

1、安装Docker

这里不赘述了

2、拉取searxng-docker

1、searxng/searxng-docker官方仓库

2、这里以「宝塔面板为例」

文件 > 根目录 点击「终端」

3、运行命令

git clone https://github.com/searxng/searxng-docker.git

4、配置

4.1、searxng/settings.yml

修改前:

# see https://docs.searxng.org/admin/settings/settings.html#settings-use-default-settings
use_default_settings: true
server:
  # base_url is defined in the SEARXNG_BASE_URL environment variable, see .env and docker-compose.yml
  secret_key: "ultrasecretkey"  # change this!
  limiter: false  # enable this when running the instance for a public usage on the internet
  image_proxy: true
redis:
  url: redis://redis:6379/0

修改后:

use_default_settings: true
engines:
  - name: arch linux wiki
    tokens: ['$ecretValue']
  - name: bing
    disabled: false
server:
  secret_key: "[随便写像密码的东西即可]"
  limiter: false
  image_proxy: true
search:  
  formats:
  - html
  - json    
redis:
  url: redis://redis:6379/0

修改内容:
1、engines引擎添加了bing的默认访问
2、secret_key不允许为默认值
3、search的formats允许返回json格式

4.2、docker-compose.yaml

  searxng:
    container_name: searxng
    image: docker.io/searxng/searxng:latest
    restart: unless-stopped
    networks:
      - searxng
    ports:
      - "127.0.0.1:8080:8080"
    volumes:
      - ./searxng:/etc/searxng:rw
      - searxng-data:/var/cache/searxng:rw
    environment:
      - SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
    logging:
      driver: "json-file"
      options:
        max-size: "1m"
        max-file: "1"

重点是修改「ports」
修改后:

    ports:
      - "[你的服务器对外开放所暴露的端口号]:8080"

删除“127.0.0.1”仅保留端口映射

5、启动SearXNG

1、回到 /searxng-docker 目录下,终端运行:

docker compose up -d

2、访问Web UI

浏览器地址栏输入: http://[公网IP]:[你的服务器对外开放所暴露的端口号]/

到此这篇关于Docker部署SearXNG的方法(宝塔面板为例)的文章就介绍到这了,更多相关SearXNG docker部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文