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 系统中。
SearXNG | SearchApi | Google CSE | Tavily | |
---|---|---|---|---|
开源/商业 | 完全开源 | 商业API | Google商业服务 | 商业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部署内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!