浪哥科技>> 公众号文章列表 NAS / Docker / 数码折腾笔记
2026-10-19Docker(Nas软路由)

Bing都关了!Docker部署SearXNG,自建免费搜索API

十月底的晚上,我又在跟搜索结果较劲。做内容聚合和AI应用这帮人,绕不开一个老问题。搜索结果从哪儿来?怕萌新小白不了解,浪哥先给大伙补一句。SearXNG就是个能自己搭的元搜索引擎。它把Google、Bing、DuckDuckGo这些源头的结果聚到一块儿,还不追踪用户。但它唯一的缺点也明显。默认没开JSON输出。想当API用,得自己动手改配置。页面也原生态,丑是真丑啊。软件不要钱,机器和电费大概率要掏钱吧。

早几年咱们想接个搜索后端,第一反应都是去买商业API。那会儿Bing Search API还能用,Google Custom Search每天大概一百来次免费额度,听着够个人瞎搜。真做起内容聚合,一天几千次请求,超出的部分一千次收五美元,换成人民币看当天汇率,反正花钱也不少。有人图省事去直接写爬虫,结果IP分分钟被封,这条路更不靠谱。现在呢。Bing在2025年8月11号正式退役,已有实例全停,新客户也不让注册了。Google那边免费还是每天一百次,新客户根本申请不了,老用户也怕哪天说停就停。这找谁说理去?早几年谁要是说自己搭搜索引擎,十有八九会被当成闲得没事干,可现在被额度和退役通知轮番教育之后,大家才开始琢磨自建。SearXNG是2021年从SearX分叉出来的,Python写的,官方说最多能聚合261个搜索服务,我数了下大概二百六七十个。完全免费、开源,也没有使用次数限制,成本就看服务器吧。早几年谁看得上自建啊,现在真香。

说个不相干的。楼下咖啡昨天涨价了,拿铁从十八涨到二十二,我纠结半天还是买了。喝一口,拉花都散了,心情一言难尽。提这个纯粹是写稿写饿了。

部署这事儿,我拿手里的极空间举例。流程不复杂:打开文件管理器,在Docker目录下新建一个searxng文件夹,再回桌面点Docker应用,点【Compose】>【新增项目】。项目名称随便起,就叫searxng。存储位置手动选刚才那个文件夹,再把“所有合规文件夹添加最大读写权限”勾上。但存储位置别选错,选错后期改挂载挺麻烦。配置里几个字段得改,你手上这台NAS要是端口已经被占了,记得改冒号前面的。接着把下面这套配置粘进去。

●●●
services:
  searxng:
    image: searxng/searxng # 镜像拉取需自行解决网络问题
    container_name: searxng
    ports:
      - "8080:8080" # 冒号前是宿主机端口,别和现有服务冲突
    volumes:
      - ./settings.yml:/etc/searxng/settings.yml
      - ./limiter.toml:/etc/searxng/limiter.toml
    environment:
      - SEARXNG_BASE_URL=http://<NAS_IP>:8080/
      - SEARXNG_SECRET=your_generated_hex_key # 用 openssl rand -hex 32 生成后填这里
    restart: unless-stopped

这里头有几个坑,浪哥都栽过。第一回我没挂limiter.toml,容器起来就崩了,日志里直接报schema invalid。那会儿我还以为是镜像坏了。后来才知道,这文件得自己写个最小可用的。我一开始直接copy网上的模板,缩进不对,容器就起不来。后来改成最简写法,只留默认速率限制,才跑通。格式不对就完蛋。我第一次点创建之后,满心欢喜去浏览器输IP:8080,结果打不开。回头看日志才发现,是它反复重启。日志刷得唰唰的。看得人头皮发麻。别急。secret key也别偷懒,官方要求随机密钥,用 openssl rand -hex 32 生成一段填进去就成。镜像拉取需要自行解决网络问题,Docker Hub直连失败是常态,我这边配了加速源才拉下来。我后来干脆把最小配置存了一份,下次直接挂载省事。你别说,这配置粘进去之后还真跑起来了。别信什么一键到位,粘贴到自己的NAS这边之前最好用AI工具优化一下,以防止格式问题造成的部署失败。

JSON那关才叫折腾。默认settings.yml里search下面的formats只有html。浪哥最早不懂,兴冲冲拿去接Cherry Studio,结果一直403。折腾半宿才反应过来,问题出在SearXNG自己没开json格式。打开配置文件,在formats那几行加个- json。重启容器。再请求就有数据了。就这么简单。加完记得保存,回容器列表点重启,重启完等个十几秒再拿浏览器试,别一上来就搜太冷门的词,先用常规关键词试水。返回一堆带results字段的JSON,那就成了。但base url要是没写对,还会各种重定向,这点真挺磨人。

搜索类型倒是挺全,网页、图片、新闻、视频、学术都支持。图片和视频我基本不怎么用,学术偶尔查文献,视频一次没开过。

隔壁邻居昨天敲门,问我NAS能不能当下载机。我说先别急,玩法多着呢,下载机只是最基础的玩法。我说远程观影那套,带宽大概率要掏钱,或者折腾DDNS。他听完更迷糊了,应了一声就走了。结果第二天快递就到了,效率真高。这叫什么事儿。

接AI那部分,说白了就是填个地址。浏览器输入【IP:端口号】就能看到搜索页,自己给Dify、Cherry Studio当联网后端。填的地址很简单:http://NAS_IP:8080/search?q=关键词&format=json。把这段地址填进Cherry Studio的联网搜索设置里,保存之后问个时效性强的问题,答案底下就能带来源。我试过问最近的AI新闻,结果还挺全呢。实测这块我只说个人经历:我这边每日数千次请求稳定运行。但这只是个人经历,不能当承诺。机器啥配置、上游啥脾气都不一样。自建实例还会被上游风控,Google经常封个二十四小时,差不多一整天。我后来把默认引擎换成Brave、DuckDuckGo,才消停点。DuckDuckGo不用申请key,省事。Brave得去官网注册拿key,我嫌麻烦就先挂上了,回头再折腾嘛。真要长期用,还是得把key填上,不然老被限。国内拉镜像失败也别当成意外,那才是常态。

群里这两天又在刷MCP,好像不接个MCP就不算AI玩家。有个老哥连MCP接了本地知识库,又接SearXNG,说这才叫完整。我看了看我的待办事项,算了。浪哥也纳闷,咱们先把搜索结果拿全乎了不就行了。真要接MCP,等哪天有空再说,反正现在也不耽误用。

屏幕右下角又快两点了。明早还得上班呢。咱们费这劲图啥呢?

相关标题

相关标签

主标签: #Docker #SearXNG #自建搜索API
副标签: #NAS #DockerCompose #元搜索引擎
长尾标签: #零成本搜索API #BingAPI退役 #AI联网搜索后端

本文同步发布于微信公众号「浪哥科技」。关注我们,获取更多 NAS / Docker / 数码折腾笔记。 从2026年8月统计至今,网站总访问量 加载中... 次 网站访客数 加载中... 人 本文总阅读量 加载中... 次 本文独立访客 加载中... 人 今日访问量 加载中... 次 今日访客数 加载中... 人