--- title: SearXNG Docker Space emoji: 🔎 colorFrom: blue colorTo: green sdk: docker app_port: 8080 pinned: false license: agpl-3.0 --- # SearXNG on Hugging Face Spaces 这是一个适合部署到 Hugging Face `Docker Space` 的 `SearXNG` 仓库骨架。 目标是先在 Hugging Face 免费 CPU Space 上跑起来,因此这里做了几项偏“保守”的取舍: - 使用官方 `searxng/searxng` 容器镜像 - 只暴露一个端口给 Hugging Face Space - 关闭需要 `Valkey` 的 `limiter` - 关闭 `image_proxy` - 使用简化设置,优先保证可启动和易维护 - 精简为更稳的知识/开发检索引擎集,作为受控/私用版实例 ## 目录结构 ```text . ├── Dockerfile ├── README.md ├── .dockerignore └── searxng └── settings.yml ``` ## 如何使用 1. 在 Hugging Face 创建一个新的 Space 2. 选择 `Docker` 作为 SDK 3. 把这个目录里的文件推到该 Space 仓库根目录 4. 在 Space Settings 里配置下面这些变量 ## 推荐配置 ### Variables - `BASE_URL` - 推荐填写你 Space 的公网地址 - 例如:`https://your-name-your-space.hf.space/` - `INSTANCE_NAME` - 可选 - 例如:`My SearXNG` - `AUTOCOMPLETE` - 可选 - 例如:`duckduckgo` ## 这个骨架默认做了什么 - 监听 `0.0.0.0:8080` - 适配 Hugging Face 的 `app_port: 8080` - 用 `/etc/searxng/settings.yml` 覆盖默认配置 - 保留 `use_default_settings: true`,只做少量必要覆盖 - 使用官方镜像入口脚本处理 `BASE_URL`、`INSTANCE_NAME`、`AUTOCOMPLETE` - `secret_key` 保持为官方默认占位值,首次启动时由官方入口脚本自动替换 ## 当前默认保留的 engines 为了更适合 `私用/受控访问`,这个版本默认只保留相对更稳的来源: - `wikipedia` - `wikidata` - `stackoverflow` - `askubuntu` - `superuser` - `github` - `docker hub` - `pypi` - `openstreetmap` - `photon` 这个策略的含义是: - 优点:更稳,更适合 Hugging Face 上的私用实例 - 缺点:它不再是完整的通用网页搜索站 ## 注意事项 - Hugging Face 免费 Space 空闲后会休眠 - 默认磁盘不是持久化存储,缓存会在重启后丢失 - 这个骨架更适合个人使用、测试和 PoC - 免费 Space 会休眠,所以不适合做高可用公共实例 - 由于没有 `Valkey`,`limiter` 不能启用;公开实例抗滥用能力会比较弱 - 当前推荐用途是私用、受控访问、小范围内部使用 - 如果你想做公开长期稳定实例,后面通常还要继续调: - engines 精简 - bot 防护 - 自定义主题 - 自定义品牌信息 ## 下一步建议 你可以继续让我帮你做其中一个: 1. 精简 `engines`,减少被上游封禁的概率 2. 加一个更像产品的自定义品牌页 3. 直接补一份可 `git init` / 推送到 Hugging Face 的发布说明