使用docker搭建SearXNG搜索引擎

拉取镜像


git clone https://github.com/searxng/searxng-docker.git

编辑配置文件

配置docker-compose.yaml

cd searxng-docker/

vim docker-compose.yaml

docker-compose.yaml内容

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:
     - "8180: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:

编辑.env文件


cd /root/data/docker_data/searxng/searxng-docker

vim .env

第6行填入自己的域名。

生成密钥文件


sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml # 生成一个密钥

启动docker镜像


cd /root/data/docker_data/searxng/searxng-docker

docker-compose up -d  

现在就可以使用ip+端口号访问了,如果想使用域名访问,使用反向代理即可

后续更新镜像


cd /root/data/docker_data/searxng/searxng-docker  # 进入docker-compose所在的文件夹

docker-compose pull    # 拉取最新的镜像

docker-compose up -d   # 重新更新当前镜像

卸载镜像


cd /root/data/docker_data/searxng/searxng-docker  # 进入docker-compose所在的文件夹

docker-compose down    # 停止容器,此时不会删除映射到本地的数据

rm -rf /root/data/docker_data/searxng/searxng-docker  # 完全删除映射到本地的数据

问题

使用时出现 too many requests

找到settings.yml文件,把limiter的值改成false,即可解决问题。

评论

  1. lam
    1 年前
    2023-10-01 13:20:10

    您好,跟了您的教程部署了,但还是有Too Many Requests的问题,已经将limiter关了

    • Avatar photo
      博主
      lam
      1 年前
      2023-10-02 0:55:09

      修改settings.yml后需要重新启动docker容器。
      你可以使用

      docker-compose restart <服务名称>

      来重启,其中服务名称在docker-compose.yaml文件中获取。
      或者,你可以在docker容器目录下使用一下命令:

      docker-compose down
      docker-compose up -d

      如果你是按照教程操作的,上述命令的执行路径是/root/data/docker_data/searxng/searxng-docker。
      重启后,使用ctrl+f5刷新后再次尝试。

  2. lam
    Macintosh Edge 124.0.0.0
    9 月前
    2024-4-30 17:23:36

    请问博主在部署的时候遇见过这个错误吗?ERROR:searx.engines.soundcloud: Fail to initialized

    • Avatar photo
      博主
      lam
      Windows Chrome 124.0.0.0
      9 月前
      2024-5-10 13:05:56

      我并没有遇见这个问题,你是否执行以下操作?

      sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml # 生成一个密钥

      看起来你好像是缺少密钥。

  3. 风暴
    Windows Edge 124.0.0.0
    9 月前
    2024-5-07 13:43:29

    需要海外服务器部署吗?我看一些博主说国内服务器会有问题

    • Avatar photo
      博主
      风暴
      Windows Chrome 124.0.0.0
      9 月前
      2024-5-10 13:03:26

      这个本质上是替你在各个搜索引擎搜索,然后整合,所以需要服务器能访问对应网站。国内服务器的话是无法访问谷歌一类的,如果不介意的没区别。

发送评论 编辑评论


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