Create a new SearXNG instance in five minutes using Docker
Name | Description | Docker image | Dockerfile |
---|---|---|---|
Caddy | Reverse proxy (create a LetsEncrypt certificate automatically) | caddy/caddy:2-alpine | Dockerfile |
SearXNG | SearXNG by itself | searxng/searxng:latest | Dockerfile |
Redis | In-memory database | redis:alpine | Dockerfile-alpine.template |
cd /usr/local
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
docker-compose up
docker-compose up -d
To access the logs from all the containers use: docker-compose logs -f
.
To access the logs of one specific container:
docker-compose logs -f caddy
docker-compose logs -f searxng
docker-compose logs -f redis
You can skip this step if you don't use systemd.
cp searxng-docker.service.template searxng-docker.service
WorkingDirectory
in the searxng-docker.service
file (only if the installation path is different from /usr/local/searxng-docker)systemctl enable $(pwd)/searxng-docker.service
systemctl start searxng-docker.service
The SearXNG image proxy is activated by default.
The default Content-Security-Policy allow the browser to access to ${SEARXNG_HOSTNAME}
and https://*.tile.openstreetmap.org;
.
If some users wants to disable the image proxy, you have to modify ./Caddyfile. Replace the img-src 'self' data: https://*.tile.openstreetmap.org;
by img-src * data:;
.
Supported architecture:
To update the SearXNG stack:
git pull
docker compose pull
docker compose up -d
Or the old way (with the old docker-compose version):
git pull
docker-compose pull
docker-compose up -d