搭建一个自己的搜索引擎—SearXNG

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 documentationsettings.yml



一些基本的全局设置、引擎设置什么的,文档内写的很详细。
比如说:
默认配置中,在搜索引擎那bing是默认关闭的,如果想要默认打开就需要在配置文件中找到-name:bing这条,把disabled: true改成false即可。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇