# SearXNG
[English](./README.md) | [中文](./README.zh.md)
此服务部署 SearXNG,一个尊重隐私的元搜索引擎,它聚合多个搜索引擎的结果而不跟踪用户。
## 服务
- `searxng`:SearXNG 元搜索引擎
- `redis`:Valkey(Redis 兼容)用于缓存搜索结果
- `caddy`:反向代理和 HTTPS 终止(使用主机网络模式)
## 环境变量
| 变量名 | 说明 | 默认值 |
| --------------------- | ------------------------------------------------------------------ | --------------------- |
| SEARXNG_VERSION | SearXNG 镜像版本 | `2025.1.20-1ce14ef99` |
| SEARXNG_PORT_OVERRIDE | SearXNG 主机端口映射(映射到容器内端口 8080) | 8080 |
| SEARXNG_HOSTNAME | Caddy 反向代理的主机名 | `http://localhost` |
| LETSENCRYPT_EMAIL | Let's Encrypt HTTPS 证书的邮箱(设置为 "internal" 使用自签名证书) | `internal` |
| SEARXNG_UWSGI_WORKERS | uWSGI 工作进程数 | 4 |
| SEARXNG_UWSGI_THREADS | 每个 uWSGI 工作进程的线程数 | 4 |
| VALKEY_VERSION | Valkey(Redis)镜像版本 | `8-alpine` |
| CADDY_VERSION | Caddy 反向代理版本 | `2-alpine` |
| TZ | 时区设置 | `UTC` |
请根据实际需求修改 `.env` 文件。
## 卷
- `caddy-data`:Caddy 数据存储(证书等)
- `caddy-config`:Caddy 配置
- `valkey-data`:Valkey 数据持久化
- `./searxng`:SearXNG 配置目录(挂载到 `/etc/searxng`)
## 端口
- `8080`:SearXNG Web UI(使用主机网络模式时通过 Caddy 反向代理)
## 配置
### SearXNG 设置
编辑 `./searxng` 目录中的配置文件以自定义:
- 要使用的搜索引擎
- UI 主题和外观
- 隐私设置
- 结果过滤
### 使用 Let's Encrypt 启用 HTTPS
要启用 Let's Encrypt 证书的 HTTPS:
1. 在 `.env` 中将 `LETSENCRYPT_EMAIL` 设置为你的邮箱地址
2. 将 `SEARXNG_HOSTNAME` 设置为你的域名(例如,`https://search.example.com`)
3. 确保端口 80 和 443 可从互联网访问
4. 创建或更新 `Caddyfile` 以包含你的域名配置
### 自签名证书
默认情况下(`LETSENCRYPT_EMAIL=internal`),Caddy 将使用自签名证书进行 HTTPS。
## 首次设置
1. 启动服务
2. 访问 SearXNG:`http://localhost:8080`(或你配置的主机名)
3. 将浏览器配置为使用 SearXNG 作为默认搜索引擎(可选)
4. 通过 Web 界面自定义设置
## 附加信息
- 官方文档:
- GitHub 仓库:
- 原始项目: