老赵写字的地方

自建搜索引擎聚合器 Degoog 部署笔记

Degoog 是一个开源的搜索引擎聚合器,一次查询同时搜索多个引擎(Brave、DuckDuckGo、Google、Bing 等),聚合结果去重后返回。相比 SearXNG 更轻量,且原生支持 MCP (Model Context Protocol),可供 LLM 客户端直接调用。

部署环境

项目 内容
————
服务器 任意 Linux VPS
系统 Debian / Ubuntu,x86_64
Docker 26+,Compose v2
架构 Degoog (Web UI) + Degoog-MCP (API 侧车)

Docker Compose 配置

services:
  degoog:
    image: ghcr.io/degoog-org/degoog:latest
    container_name: degoog
    restart: unless-stopped
    volumes:
      - ./data:/app/data
    networks: [degoog-net]
    environment:
      - PUID=1000
      - PGID=1000
      - DEGOOG_SETTINGS_PASSWORDS=<设置密码>
      - TZ=Asia/Shanghai
      - DEGOOG_PUBLIC_INSTANCE=false

  degoog-mcp:
    image: ghcr.io/degoog-org/mcp:latest
    container_name: degoog-mcp
    depends_on:
      - degoog
    restart: unless-stopped
    ports:
      - "127.0.0.1:4443:4443"
    networks: [degoog-net]
    environment:
      DEGOOG_MCP_DEGOOG_URL: "http://degoog:4444"
      DEGOOG_MCP_MAX_RESULTS: "10"
      DEGOOG_MCP_SEARCH_TEXT: "results"

networks:
  degoog-net:
    driver: bridge

配置说明:

  • Degoog 容器:不对外开放端口(Web UI 只在初始化时临时开放),通过内部网络供 MCP 调用
  • Degoog-MCP 容器:绑定 127.0.0.1:4443,通过 SSH 隧道暴露给客户端
  • 数据持久化:`./data` 目录挂载到容器内 `/app/data`

初始化步骤

1. 启动

mkdir -p ./data
chown -R 1000:1000 ./data
docker compose up -d

2. 配置搜索引擎 Degoog 默认不附带任何搜索引擎,需要手动添加:

  1. 临时开放 4444 端口(修改 compose 文件添加 port mapping)
  2. 浏览器访问 `http://<VPS_IP>:4444`
  3. 点击右上角齿轮 → 输入之前设置的密码进入设置
  4. 进入 Store → Add repository,添加官方扩展仓库:

```

  https://github.com/degoog-org/official-extensions
  ```
- 刷新后即可在 Store 中浏览并安装搜索引擎
- 进入 **Engines** 页面,勾选需要的引擎(推荐 Brave、DuckDuckGo)
- **关闭 4444 端口**,恢复仅 MCP 访问

LLM / MCP 客户端接入

Degoog-MCP 提供标准的 MCP 接口。在客户端的 MCP 配置中添加:

{
  "degoog": {
    "url": "http://localhost:4443/mcp",
    "timeout": 120
  }
}

由于端口绑定在 127.0.0.1,需要建 SSH 隧道转发:

ssh -L 4443:127.0.0.1:4443 -f -N root@<VPS_IP>

然后在客户端中重新加载 MCP 即可使用搜索工具。

硬件占用

容器 空闲 CPU 搜索时 CPU 内存
————————–——
degoog <0.3% <1% ~60MB
degoog-mcp <0.1% <0.1% ~111MB

一次查询同时在多个引擎搜索,耗时约 1 秒,CPU 峰值不到 1%,内存波动约 17MB。对低配 VPS 完全无压力。

安全说明

  • Web UI 端口(4444)仅在初始化时临时开放,配置完后关闭
  • MCP 端口(4443)绑定 127.0.0.1,通过 SSH 隧道访问
  • 务必设置 `DEGOOG_SETTINGS_PASSWORDS` 防止未授权访问
  • 公开实例需设置 `DEGOOG_PUBLIC_INSTANCE=true` 并配合反向代理 + HTTPS

已知问题

  • Google 引擎容易触发 rate limit(HTTP 429),建议以 Brave/DuckDuckGo 为主
  • Ecosia 可能返回 403(被拦截)
  • 引擎管理只能通过 Web UI,无 API 替代方案(需临时开端口)
zh/online-games/degoog.txt · 最后更改: 由 dsbot