07
2025
04
21:57:52

使用Docker详细搭建部署与使用searxng


SearXNG是一款基于Python开发的开源免费互联网元搜索引擎,于2021年从SearX分叉而来。它聚合了来自如Google、Bing等众多搜索引擎及不同数据库的结果,集成超100种公开搜索引擎资源,覆盖综合、新闻、图片等11大类。SearXNG极其注重隐私保护,不会追踪用户或建立档案,采用随机浏览器档案、以实例IP为来源、不使用Cookie等措施。它支持用户自定义搜索引擎,可根据喜好调整默认语言等设置,还具有多语言支持、安全加密连接等特点,并且能轻松部署在NAS、通过Docker部署或手动部署在服务器上,为用户提供了一个私密、可定制、功能强大的搜索工具。

本文将详细介绍在Windows系统上使用Docker搭建Searxng的步骤以及使用,注意:项目的部署需要用户了解并熟悉AnacondaPytorch等框架;

项目地址:github.com/searxng/sear

官方文档:docs.searxng.org/

安装 Docker 和 Docker Compose

在开始部署 SearXNG 之前,需要在电脑上安装Docker Desktop



下载完毕后,确保 Docker Desktop 已经正确安装并且正在运行。你可以在任务栏或系统托盘中找到 Docker 图标来确认其状态。



若未能启动或显示Docker stopping,请参考Docker安装与部署文章。

对于docker compose,

通常 Docker Compose 已经自动包含在内。你可以通过以下步骤进行验证:打开命令提示符或 PowerShell,输入以下命令查看 Docker Compose 版本:

docker compose version

如果显示出版本信息,说明 Docker Compose 已正确安装;若提示找不到命令,可尝试重新安装 Docker Desktop 来解决。

部署Searxng

若不使用Git方法下载镜像的话,打开Searxng的项目地址:



点击Download ZIP

将下载的压缩包解压到任意位置,如:E:\python_project\searxng-docker-master

注意此时要修改以下几处:

主要修改docker-compose.yamlsearxng/settings.yml:(直接复制粘贴即可)

docker-compose.yaml:

version: "3.7"services:

caddy:

container_name: caddy

image: docker.io/library/caddy:2-alpine

network_mode: host

restart: unless-stopped

volumes:

- ./Caddyfile:/etc/caddy/Caddyfile:ro

- caddy-data:/data:rw

- caddy-config:/config:rw

environment:

- SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME:-http://localhost}- SEARXNG_TLS=${LETSENCRYPT_EMAIL:-internal}cap_drop:

- ALL

cap_add:

- NET_BIND_SERVICE

logging:

driver: "json-file"options:

max-size: "1m"max-file: "1"redis:

container_name: redis

image: docker.io/valkey/valkey:8-alpine

command: valkey-server --save 30 1 --loglevel warning

restart: unless-stopped

networks:

- searxng

volumes:

- valkey-data2:/data

cap_drop:

- ALL

cap_add:

- SETGID

- SETUID

- DAC_OVERRIDE

logging:

driver: "json-file"options:

max-size: "1m"max-file: "1"searxng:

container_name: searxng

image: docker.io/searxng/searxng:latest

restart: unless-stopped

networks:

- searxng

ports:

- "8080:8080"volumes:

- ./searxng:/etc/searxng:rw

environment:

- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/

- UWSGI_WORKERS=${SEARXNG_UWSGI_WORKERS:-4}- UWSGI_THREADS=${SEARXNG_UWSGI_THREADS:-4}cap_drop:

- ALL

cap_add:

- CHOWN

- SETGID

- SETUID

logging:

driver: "json-file"options:

max-size: "1m"max-file: "1"networks:

searxng:

volumes:

caddy-data:

caddy-config:

valkey-data2:

这里主要是修改了端口映射:- "127.0.0.1:8080:8080"改成了- "8080:8080"。这样可以使用允许任意ip访问。

searxng/settings.yml:

use_default_settings: trueserver:

secret_key: "这里填你随便一个密码即可"limiter: trueimage_proxy: trueui:

static_use_hash: trueredis:

url: redis://redis:6379/0

search:

safe_search: 0autocomplete: ""default_lang: ""formats:

- html

- json

- csv

- rss

ratelimit:

enabled: trueper_second: 5per_minute: 60

这里主要是修改了secret_key,不允许为默认值,调整了每秒每分允许的请求数,避免在运行时出错,以及search的formats允许返回json格式(一定要加,否则报403错误)。下面就可以直接启动服务了。

运行Searxng

运行Searxng时,一定要确保Docker在运行中,

打开win+r

输入:PowerShell

进入Searxng所在的文件夹,例如:E:\python_project\searxng-docker-master

cd E:\python_project\searxng-docker-master

然后输入启动命令:

docker-compose up -d

结果如图:



表示启动成功,接下来验证是否有效,

打开电脑浏览器,在地址栏输入:localhost:8080/search



搜索问题:



部署成功。

此时我们打开Docker Desktop:



就会发现容器在运行中。

最后不要 忘记关闭:

也是在PowerShell中输入:

docker compose down



关闭成功。




推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

本文链接:https://zblog.hqyman.cn/post/10179.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: