SearXNG是一款基于Python开发的开源免费互联网元搜索引擎,于2021年从SearX分叉而来。它聚合了来自如Google、Bing等众多搜索引擎及不同数据库的结果,集成超100种公开搜索引擎资源,覆盖综合、新闻、图片等11大类。SearXNG极其注重隐私保护,不会追踪用户或建立档案,采用随机浏览器档案、以实例IP为来源、不使用Cookie等措施。它支持用户自定义搜索引擎,可根据喜好调整默认语言等设置,还具有多语言支持、安全加密连接等特点,并且能轻松部署在NAS、通过Docker部署或手动部署在服务器上,为用户提供了一个私密、可定制、功能强大的搜索工具。
本文将详细介绍在Windows系统上使用Docker搭建Searxng的步骤以及使用,注意:项目的部署需要用户了解并熟悉Anaconda、Pytorch等框架;
项目地址:https://github.com/searxng/searxng-docker
官方文档:https://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.yaml和searxng/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:
# 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: "这里填你随便一个密码即可" # change this! limiter: true # can be disabled for a private instance image_proxy: true ui: static_use_hash: true redis: url: redis://redis:6379/0 search: safe_search: 0 autocomplete: "" default_lang: "" formats: - html - json - csv - rss ratelimit: enabled: true # 调整每秒允许的请求数 per_second: 5 # 调整每分钟允许的请求数 per_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
结果如图:
表示启动成功,接下来验证是否有效,
打开电脑浏览器,在地址栏输入:http://localhost:8080/search
搜索问题:
部署成功。
此时我们打开Docker Desktop:
就会发现容器在运行中。
最后不要 忘记关闭:
也是在PowerShell中输入:
docker compose down
关闭成功。
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/10185.html 非本站原创文章欢迎转载,原创文章需保留本站地址!


休息一下~~