拉取镜像
git clone https://github.com/searxng/searxng-docker.git
编辑配置文件
配置docker-compose.yaml
cd searxng-docker/
vim docker-compose.yaml
docker-compose.yaml内容
version: '3.7'
services:
# 我们注释掉caddy的内容
# caddy:
# container_name: caddy
# image: caddy:2-alpine
# network_mode: host
# volumes:
# - ./Caddyfile:/etc/caddy/Caddyfile:ro
# - caddy-data:/data:rw
# - caddy-config:/config:rw
# environment:
# - SEARXNG_HOSTNAME=${SEARXNG_HOSTNAME:-http://localhost:80}
# - SEARXNG_TLS=${LETSENCRYPT_EMAIL:-internal}
# cap_drop:
# - ALL
# cap_add:
# - NET_BIND_SERVICE
# - DAC_OVERRIDE
redis:
container_name: redis
image: "redis:alpine"
command: redis-server --save "" --appendonly "no"
networks:
- searxng
tmpfs:
- /var/lib/redis
cap_drop:
- ALL
cap_add:
- SETGID
- SETUID
- DAC_OVERRIDE
searxng:
container_name: searxng
image: searxng/searxng:latest
networks:
- searxng
ports:
- "8180:8080" # 这个冒号左边的端口可以更改,右边的不要改
volumes:
- ./searxng:/etc/searxng:rw
environment:
- SEARXNG_BASE_URL=https://${SEARXNG_HOSTNAME:-localhost}/
cap_drop:
- ALL
cap_add:
- CHOWN
- SETGID
- SETUID
- DAC_OVERRIDE
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "1"
networks:
searxng:
ipam:
driver: default
#volumes:
#caddy-data:
#caddy-config:
编辑.env
文件
cd /root/data/docker_data/searxng/searxng-docker
vim .env
第6行填入自己的域名。
生成密钥文件
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml # 生成一个密钥
启动docker镜像
cd /root/data/docker_data/searxng/searxng-docker
docker-compose up -d
现在就可以使用ip+端口号访问了,如果想使用域名访问,使用反向代理即可
后续更新镜像
cd /root/data/docker_data/searxng/searxng-docker # 进入docker-compose所在的文件夹
docker-compose pull # 拉取最新的镜像
docker-compose up -d # 重新更新当前镜像
卸载镜像
cd /root/data/docker_data/searxng/searxng-docker # 进入docker-compose所在的文件夹
docker-compose down # 停止容器,此时不会删除映射到本地的数据
rm -rf /root/data/docker_data/searxng/searxng-docker # 完全删除映射到本地的数据
问题
使用时出现 too many requests
找到settings.yml文件,把limiter的值改成false,即可解决问题。
您好,跟了您的教程部署了,但还是有Too Many Requests的问题,已经将limiter关了
修改settings.yml后需要重新启动docker容器。
你可以使用
来重启,其中服务名称在docker-compose.yaml文件中获取。
或者,你可以在docker容器目录下使用一下命令:
如果你是按照教程操作的,上述命令的执行路径是/root/data/docker_data/searxng/searxng-docker。
重启后,使用ctrl+f5刷新后再次尝试。
请问博主在部署的时候遇见过这个错误吗?ERROR:searx.engines.soundcloud: Fail to initialized
我并没有遇见这个问题,你是否执行以下操作?
看起来你好像是缺少密钥。
需要海外服务器部署吗?我看一些博主说国内服务器会有问题
这个本质上是替你在各个搜索引擎搜索,然后整合,所以需要服务器能访问对应网站。国内服务器的话是无法访问谷歌一类的,如果不介意的没区别。