searxng-docker
使用Docker在五分钟内创建一个新的SearXNG实例
包含哪些内容?
名称 | 描述 | Docker镜像 | Dockerfile |
---|---|---|---|
Caddy | 反向代理(自动创建LetsEncrypt证书) | docker.io/library/caddy:2-alpine | Dockerfile |
SearXNG | SearXNG本身 | docker.io/searxng/searxng:latest | Dockerfile |
Valkey | 内存数据库 | docker.io/valkey/valkey:7-alpine | Dockerfile |
如何使用
- 安装docker
- 获取searxng-docker
cd /usr/local git clone https://github.com/searxng/searxng-docker.git cd searxng-docker
- 编辑.env文件以设置主机名和电子邮件
- 生成密钥
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
- 根据需要编辑searxng/settings.yml文件
- 检查一切是否正常工作:
docker compose up
- 在后台运行SearXNG:
docker compose up -d
[!警告]
如果你使用的是较旧版本的docker desktop(< 3.6.0
),你可能需要安装Docker Compose v1。 相应地,你应该修改本文档中的命令以适应Docker Compose v1。例如,将'docker compose up'改为'docker-compose up'。安装docker-compose插件(确保docker-compose版本至少为1.9.0)
[!注意]
Windows用户可以使用以下PowerShell脚本生成密钥:$randomBytes = New-Object byte[] 32 (New-Object Security.Cryptography.RNGCryptoServiceProvider).GetBytes($randomBytes) $secretKey = -join ($randomBytes | ForEach-Object { "{0:x2}" -f $_ }) (Get-Content searxng/settings.yml) -replace 'ultrasecretkey', $secretKey | Set-Content searxng/settings.yml
如何访问日志
要访问所有容器的日志,使用:docker compose logs -f
。
要访问特定容器的日志:
- Caddy:
docker compose logs -f caddy
- SearXNG:
docker compose logs -f searxng
- Valkey:
docker compose logs -f redis
使用systemd启动SearXNG
如果你不使用systemd,可以跳过此步骤。
cp searxng-docker.service.template searxng-docker.service
- 编辑
searxng-docker.service
文件中WorkingDirectory
的内容(仅当安装路径不是/usr/local/searxng-docker时) - 安装systemd单元:
systemctl enable $(pwd)/searxng-docker.service systemctl start searxng-docker.service
关于图片代理功能的说明
默认情况下,SearXNG图片代理已激活。
默认的内容安全策略允许浏览器访问${SEARXNG_HOSTNAME}
和https://*.tile.openstreetmap.org;
。
如果某些用户想要禁用图片代理,你需要修改./Caddyfile。将img-src 'self' data: https://*.tile.openstreetmap.org;
替换为img-src * data:;
。
多架构Docker镜像
支持的架构:
- amd64
- arm64
- arm/v7
如何更新?
要更新SearXNG堆栈:
git pull
docker compose pull
docker compose up -d
或者旧方式(使用旧版docker-compose):
git pull
docker-compose pull
docker-compose up -d