Docker compose私有化部署SearXNG开源搜索,来搭建个自己的搜索引擎
SearXNG 是一个免费的开源联合元搜索引擎,源自 Searx。 SearXNG 支持 70 多种不同的搜索引擎。与 Searx 类似,它不收集有关用户的信息。因此可以部署SearXNG来做自己的搜索引擎,或通过Dify、Open WebUI等程序接入SearXNG实现联网搜索,非常强大。
同样,花糕这次使用的仍然是Debian系统,各位可以根据需要换成用别的系统,只要支持docker compose就可以了。
Docker Compose 是用于定义和运行多容器Docker 应用程序的工具。 在Compose 中,可以使用YAML 文件来配置应用程序的服务。 然后,运行一条命令,即可从配置中创建并启动所有服务。 使用Compose 可在一台主计算机上方便地协调多个容器映像。这里想只用docker也是可以的。
废话不多说,让我们先把镜像拉取下来吧:docker pull searxng/searxng
创建个searxng文件夹,并创建docker-compose.yaml:
(感觉我应该给喵御宅的编辑器做个代码块):
我们还需要修改searxng的配置,但必须启动之后才会创建配置文件,所以让我们先启动searxng:docker compose up -d
(ps:如果你用的是docker compose v1, 需要用docker-compose而不是docker compose命令)
searxng等下还需要个密钥,我们可以提前生成个:openssl rand -hex 32:
c30a404efeed1641c65f8da83d352992a837344a90b9570cbb7579a3d186aa3c
然后启动searxng
可以看到启动后多了个searxng文件夹,编辑searxng/settings.yml:
vim searxng/settings.yml
哦哟,配置真多,但是大多没用,我们可以全删了
东西太多不太好删,直接remove吧:rm searxng/settings.yml
searxng的配置我们可以分为两部分,一部分是基础配置,一部分是引擎配置,如果只是使用网页,引擎配置也可以启动之后在设置中修改,但是需要注意的是,使用dify等工具接入searxng进行联网搜索,是不认识网页上修改后的配置的,只认这个配置文件里的配置,因此如果想要这些工具能好好使用联网搜索,必须在这个配置文件里一次性配置好。
如果是海外服务器,建议开启google、bing、duckduckgo、wikidata
如果是国内服务器,开一个bing就可以了
配置完成后重启searxng:
docker compose down && docker compose up -d
接下来打开 http://ip:80 即可访问:
可以在设置中设置用百度补全提示词
这里我们只配置了综合搜索,如果需要配置图片、视频等搜索,可以去看官方文档自己摸索了
以下是我的配置,如果需要也可以直接复制走:
use_default_settings: true
server:
secret_key: "c30a404efeed1641c65f8da83d352992a837344a90b9570cbb7579a3d186aa3c"
limiter: false
image_proxy: true
ui:
static_use_hash: true
redis:
url: false
search:
default_lang: "zh-CN"
formats:
- html
- json
engines:
- name: bing
engine: bing
disabled: false
- name: google
engine: google
disabled: false
- name: duckduckgo
engine: duckduckgo
disabled: false
- name: arch linux wiki
engine: archlinux
disabled: true
- name: github
engine: github
shortcut: gh
disabled: false
- name: wikipedia
engine: wikipedia
disabled: false
- name: currency
engine: currency_convert
categories: general
shortcut: cc
disabled: true
- name: startpage
engine: startpage
shortcut: sp
disabled: true
- name: qwant
qwant_categ: web
engine: qwant
shortcut: qw
disabled: true
- name: dictzone
engine: dictzone
shortcut: dc
disabled: true
- name: lingva
engine: lingva
shortcut: lv
disabled: true
- name: mymemory translated
engine: translated
shortcut: tl
timeout: 5.0
disabled: true
- name: brave
engine: brave
shortcut: br
disabled: true
- name: wikidata
engine: wikidata
disabled: false