用途:在自有服务器上部署私有的 SearXNG 元搜索引擎,聚合多个搜索提供方的结果,减少对单一搜索服务的依赖,适合个人、团队或组织搭建无追踪的搜索实例。
主要能力:使用 Docker Compose 编排 searxng 与 nginx 两个服务;通过 config/settings.yml 配置实例名称、安全搜索、自动补全、默认语言、secret_key、limiter、image_proxy 等;在 engines 段启用或禁用 google、duckduckgo、wikipedia、github、stackoverflow、arxiv 等引擎;用 config/limiter.toml 配置 IP 限流与放行列表;Nginx 作为前端反向代理并缓存静态资源;生产环境可加入 certbot 实现 SSL。
使用方式:先创建 searxng/{config,nginx} 目录结构,编写 docker-compose.yml,其中 searxng 挂载 ./config 到 /etc/searxng:rw,设置 SEARXNG_BASE_URL,nginx 映射 8080:80 并挂载 nginx.conf。用 openssl rand -hex 32 生成 secret_key 填入 settings.yml。随后执行 docker compose up -d 启动,用 docker compose logs -f searxng 查看日志,用 curl -s http://localhost:8080 验证,用 curl -s "http://localhost:8080/search?q=test&format=json" 测试搜索。更新时执行 docker compose pull searxng 与 docker compose up -d,并备份 config 目录。
适用场景:搭建私有搜索入口、团队内部搜索、聚合多引擎结果、替代单一搜索提供方。
限制与注意:缺少 secret_key 时 SearXNG 拒绝启动;config 卷必须为读写;settings.yml 对 YAML 缩进敏感;SEARXNG_BASE_URL 需与实际访问地址一致;部分引擎可能屏蔽服务器 IP;Docker 内 DNS 解析可能影响部分引擎。SSL 完整配置需参考 configure-nginx 技能。