一个完全开源的搜索引擎聚合平台,提供来自 Google、Bing、Yahoo 等 70 多种各大视频、图片、搜索、磁力等网站结果展示,并对搜索结果进行优化,同时不会存储任何搜索信息。
项目介绍
一个基于 Python 的完全开源免费搜索引擎平台,为你提供来自 Google、Bing、Yahoo 等 70 多种各大视频、图片、搜索、磁力等网站结果展示,并对搜索结果进行优化,同时不会存储你的任何搜索信息,搭建也很方便。
该项目不包含百度搜索等国内搜素引擎,因此建议在国外服务器上搭建。
如搭建在国内服务器上,建议使用代理。
如搭建在国内服务器上,建议使用代理。
尊重隐私、可定制的元搜索引擎。
SearXNG是searx的一个分支。(原因是内部对项目发展的想法不一)
以下是一些特性:
- 桌面、平板和手机上自适应显示
- 支持暗夜模式(你可以在首选项中选择)
- 支持从右到左的语言
- 查看屏幕截图
- 支持Docker部署,还可以为ARM64和ARM/v7架构构建镜像(树莓派也能安装)
官方GitHub仓库:https://github.com/searxng/searxng
官方Docker GitHub仓库: https://github.com/searxng/searxng-docker
官方DockerHub仓库: https://hub.docker.com/r/searxng/searxng
官方Demo:https://searx.space
项目搭建
- 创建安装目录
mkdir root/docker_data/searxng
- 在创建的文件夹下拉取官方GitHub仓库
cd root/docker_data/searxng
git clone https://github.com/searxng/searxng-docker.git
- 进入到克隆下来的目录,编辑
docker-compose.yaml
文件
- 官方GitHub仓库中的yaml文件使用的是caddy反代,有一个问题就是可能会和你网站上的80端口冲突,导致searXNG与你服务器上的其他网站无法共存,我们这边把caddy部分注释掉或者删掉,改为采用
NginxProxyManager
配置反代。
version: '3.7'
services:
# caddy:
# container_name: caddy
# image: caddy:2-alpine
# network_mode: host
# volumes:
# - ./Caddyfile:/etc/caddy/Caddyfile:ro
# - caddy-data:/data:rw
# - caddy-config:/config:rw
# environment:
# - SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME:-http://localhost:80}
# - SEARXNG_TLS=${LETSENCRYPT_EMAIL:-internal}
# cap_drop:
# - ALL
# cap_add:
# - NET_BIND_SERVICE
redis:
container_name: redis
image: "redis:alpine"
command: redis-server --save "" --appendonly "no"
networks:
- searxng
tmpfs:
- /var/lib/redis
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
searxng:
container_name: searxng
image: searxng/searxng:latest
networks:
- searxng
ports:
- "127.0.0.1:8080:8080"
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
searxng:
ipam:
driver: default
# volumes:
# caddy-data:
# caddy-config:
- 如果需要配置反向代理,使用域名访问,则需要编辑目录下的
.env
文件,取消SEARXNG_HOSTNAME
注释,添加自己的域名
# By default listen on https://localhost
# To change this:
# * uncomment SEARXNG_HOSTNAME, and replace <host> by the SearXNG hostname
# * uncomment LETSENCRYPT_EMAIL, and replace <email> by your email (require to create a Let's Encrypt certificate)
SEARXNG_HOSTNAME=yourdomain.com
# LETSENCRYPT_EMAIL=<email>
yaml
文件路径下,运行以下代码,运行docker容器
docker-compose up -d
- 访问容器
容器运行后使用ip:8080
即可访问SearXNG。如果不能访问,请查看防火墙是否放行该端口(腾讯云,阿里云,华为云,甲骨文等服务器提供商需在控制台面板手动关闭防火墙并放行端口)。如果配置了反代,则通过域名就可以访问。
- 更新命令
cd root/docker_data/searxng/searxng-docker
docker-compose up -d # 重新拉取镜像并运行镜像
docker image prune # 删除旧版本的镜像
反向代理
查看【Docker项目】Nginx Proxy Manager反向代理)
配置文件编辑
docker文件路径下的./searxng/settings.yml
可以更改搜索引擎的一些默认设置。比如默认开启的搜索引擎,搜索引擎的自动补全以及一些界面的设置。
具体的设置和可选项详见官方文档:https://docs.searxng.org