如何使用Docker部署SearXNG
SearXNG 搜索引擎
SearXNG 是一個整合了超過70個搜索服務結果的免費的私有互聯(lián)網(wǎng)搜索引擎,用戶不會被網(wǎng)站跟蹤或被建立檔案進行特征分析,良好地保障了用戶的隱私。知識庫可以有效地彌補大模型的知識欠缺問題,但依舊無法補充或彌補知識庫和大模型知識陳舊的問題,于是讓大模型聯(lián)網(wǎng)成為了非常重要的功能。
本章將介紹如何使用 Docker Compose 部署屬于私人的 SearXNG 服務,項目地址點擊即跳轉。
Docker Compose 部署
可能會有小伙伴要問為啥不使用 SearXNG 官方維護的 SearXNG-Docker 項目 ?官方的這個項目默認使用的 Caddy
作為反向代理,最有可能出現(xiàn)的一個問題是會和你服務器上的 80 端口出現(xiàn)沖突,導致 SearXNG 無法與你的服務器上的其它網(wǎng)站共存。而注釋掉官方項目中 docker-compose.yaml
有關 Caddy
的部分,就不如自行部署了。
首先創(chuàng)建一個路徑用于存放配置文件。
mkdir {Your Path}\SearXNG && cd SearXNG
進入該路徑之后使用 vim 創(chuàng)建 docker-compose.yaml
文件。
vim docker-compose.yaml
將下面的內(nèi)容粘貼到文件內(nèi)并保存
name: searxng services: searxng: container_name: searxng image: searxng/searxng:latest restart: unless-stopped ports: - 8080:8080 volumes: - ./searxng:/etc/searxng # 默認在該文件所在的目錄層級創(chuàng)建配置文件夾 environment: - SEARXNG_BASE_URL=http://${SEARXNG_HOSTNAME:-localhost}/ - SEARXNG_SECRET=${SEARXNG_SECRET} - SEARXNG_REDIS_URL=${SEARXNG_REDIS_URL:-redis://redis:6379} - UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-10} - UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-10} logging: driver: "json-file" options: max-size: "1m" max-file: "1" networks: 1panel-network: ipv4_address: 172.18.0.239 redis: image: redis:alpine container_name: searxng-redis networks: 1panel-network: ipv4_address: 172.18.0.240 command: redis-server --bind 0.0.0.0 networks: 1panel-network: external: true
需要注意的是:所有的 Networks 部分需要根據(jù)你的 Docker 容器的實際網(wǎng)絡配置進行修改,且需要確認分配的 ipv4_address
地址在 Docker 容器的網(wǎng)絡內(nèi)沒有被占用。
保存之后使用下面的指令創(chuàng)建、更新并運行容器。
sudo docker-compose up -d
你可以看到,在 {Your Path}\SearXNG
路徑之下,創(chuàng)建了一個新的文件夾 searxng
,該文件夾用于存放配置文件 settings.yml
。
在瀏覽器輸入網(wǎng)址 http://Server-IP:Port
即可訪問搜索引擎。
定制 SearXNG Engine
Internet Proxy
該項目是一個國外主導的開源私人搜索引擎,因此由于眾所周知的原因,只能訪問少量的搜索引擎,例如:Bing[通用搜索]、Bilibili[視頻搜索]、Github[信息技術]、Arxiv[學術] 等等。如果需要訪問更多的搜索引擎,需要使用網(wǎng)絡代理服務。
進入到部署路徑的 searxng
文件夾,就是剛才生成的那個文件夾,里面有一個 settings.yml
文件,使用具有權限的 vim 打開。
sudo vim settings.yml
配置的位置位于 outgoing
部分,如下下面的這部分前面的 #
刪除
# proxies: # all://: # - http://proxy1:8080 # - http://proxy2:8080
你可以配置一個或多個代理用于訪問搜索引擎,需要將 http://proxy:8080
替換成你的代理的地址。
除此之外,還可以設置請求超時.
request_timeout: 3.0
修改完成后需要重啟容器,設置立即生效。
Search Formats
項目默認的搜索返回的格式為 html
格式,在使用網(wǎng)絡爬蟲或其它形式的分析器調(diào)用 API 時,希望返回 json
格式,這時就需要修改返回格式。
進入到部署路徑的 searxng
文件夾,就是剛才生成的那個文件夾,里面有一個 settings.yml
文件,使用具有權限的 vim 打開。
sudo vim settings.yml
配置的位置位于 search
部分,在 formats
后按照格式添加你需要的格式,如下所示。
# formats: [html, csv, json, rss] formats: - html - csv - json - rss
修改完成之后需要重啟容器,設置立即生效。
調(diào)用 API 時,可以指定開啟的格式:
http://Server-IP:Port/search?q=xxx&format=json
效果如下:
SearXNG Search API
基礎的API地址如下:
http://Server-IP:Port/search
搜索內(nèi)容 q, required
http://Server-IP:Port/search?q=xxx
返回格式 format, optional
格式有 [ json
, csv
, rss
],三選一
http://Server-IP:Port/search?q=xxx&format=json
搜索分類 categories, optional
http://Server-IP:Port/search?q=xxx&categories=general
可選的類別有:
分類 | 名稱 |
---|---|
general | 綜合 |
images | 圖片 |
videos | 視頻 |
news | 新聞 |
map | 地圖 |
music | 音樂 |
it | 信息技術 |
science | 科學 |
files | 文件 |
social_media | 社交媒體 |
搜索第幾頁的內(nèi)容,推薦5頁及以內(nèi)。
http://Server-IP:Port/search?q=xxx&pageno=1
搜索引擎 engines, optional
http://Server-IP:Port/search?q=xxx&=apple&engines=google,bing,duckduckgo
具體的搜索引擎查詢官方文檔
到此這篇關于使用Docker部署SearXNG的文章就介紹到這了,更多相關Docker部署SearXNG內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Docker部署Nginx設置環(huán)境變量的實現(xiàn)步驟
本文主要介紹了Docker部署Nginx設置環(huán)境變量的實現(xiàn)步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-07-07本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1)
這篇文章主要介紹了本地Docker安裝Postgres 12 + pgadmin的方法 (支持Apple M1),本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03docker容器源碼部署httpd用存儲卷部署網(wǎng)站(推薦)
這篇文章主要介紹了docker容器源碼部署httpd用存儲卷部署網(wǎng)站,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-12-12使用Docker運行Microsoft SQL Server 2017的方法
本篇文章主要介紹了使用Docker運行Microsoft SQL Server 2017的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11