1.前言
对于现在的各大搜索引擎,搜索过后就是要面对铺天盖地的广告干扰(一不小心就暴露了我们搜索过的关键词)所以说如果有一个既强大同时又能够保护用户隐私的搜索引擎就安心了。
SearXNG 是一个免费开源的互联网元搜索引擎,它汇总了来自 Google、Bing、Yahoo等70 多个搜索服务的结果,用户既不被跟踪也不被分析。
因为是汇总了很多国外引擎的搜索结果,所以说要有科学的网络环境才能有优质的体验。
官方Demo:https://searx.space/
GitHub地址:https://github.com/searxng/searxng
Docker仓库地址:https://github.com/searxng/searxng-docker
官方文档地址:https://docs.searxng.org/
2.开始搭建
老样子还是使用docker-compose搭建
创建文件夹,并进入文件夹内
mkdir -p /root/data/docker_data/searxng
cd /root/data/docker_data/searxng
把docker仓库内的文件克隆过来并进入searxng-docker
文件夹内
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker/
因为这次是把github仓库的文件都拉过来了,所以docker-compose.yaml
文件也是现成的
官方默认是用caddy
来反代的,而我还是习惯用NginxProxyManager
,所以可以把caddy
的部分注释掉。
下面是compose文件内的内容,
version: '3.7'
services:
# 注释掉caddy的内容
# 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
# - DAC_OVERRIDE
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:
- "8080:8080" # 如果端口有冲突左边的可以更改,右边的不要改
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- DAC_OVERRIDE
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
searxng:
ipam:
driver: default
#volumes:
#caddy-data:
#caddy-config:
然后还是在searxng-docker
文件夹内编辑一下.env文件
把SEARXNG_HOSTNAME
前的注释去掉,后面改成自己的需要用的域名
还有是需要给配置文件生成一个密钥
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
到这基本就搭建完成了,可直接运行docker
docker-compose up -d
用ip:8080(端口号)可直接访问
3.反向代理
解析好域名后,利用Nginx Proxy Manager进行反向代理,端口为8080。
注意的是,如果Nginx Proxy Manager和需要反代的项目不在同一台机器上时,域名的解析需要解析到Nginx Proxy Manager所在的机器上。
4.配置
做好反向代理后我们就能够通过域名直接进入网站
对于搜索引擎的设置可以点击右上角齿轮进行设置
这里需要注意的是,在这边所有更改后的设置只适用于当前浏览器,服务端上并不会改变相应配置,因为这个毕竟是个公用的搜索引擎,不可能随便谁上去设置就能影响到服务端的默认配置。
所以,如果想要更改这个默认设置,就需要更改服务端的配置文件。
配置文件在
searxng
文件夹内的settings.yml
cd /root/data/docker_data/searxng/searxng-docker/searxng
vim settings.yml
文件内的内容实在太多了就不粘过来了。
怎么说呢,其实搭好就可以直接使用了,需要修改的地方也不会多,浏览器内直接调整就好。
如果还是想折腾下服务端的配置文件,具体可到官方文档学习研究。
在文档左侧菜单Administrator documentation
下settings.yml
内
一些基本的全局设置、引擎设置什么的,文档内写的很详细。
比如说:
默认配置中,在搜索引擎那bing是默认关闭的,如果想要默认打开就需要在配置文件中找到
-name:bing
这条,把disabled: true
改成false
即可。