Skip to content
Switch branches/tags

Latest commit

- base64 random key may contain the `/`  character, which conflicts with the sed separator, using `|` as the separator fixes it

Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Create a new searx instance in five minutes using Docker (see )

What is included ?

Name Description Docker image Dockerfile
Caddy Reverse proxy (create a LetsEncrypt certificate automatically) caddy/caddy:2-alpine Dockerfile
Filtron Filtering reverse HTTP proxy, bot and abuse protection dalf/filtron:latest See asciimoo/filtron#4
Searx searx by itself searx/searx:latest Dockerfile
Morty Privacy aware web content sanitizer proxy as a service. dalf/morty:latest Dockerfile

How to use it

cd /usr/local
git clone
cd searx-docker
  • Generate MORTY_KEY sed -i "s|ReplaceWithARealKey\!|$(openssl rand -base64 33)|g" .env
  • Edit the other settings in .env file according to your need
  • Check everything is working: ./,
  • cp searx-docker.service.template searx-docker.service
  • edit the content of WorkingDirectory in the searx-docker.service file (only if the installation path is different from /usr/local/searx-docker)
  • Install the systemd unit :
systemctl enable $(pwd)/searx-docker.service
systemctl start searx-docker.service

Note on the image proxy feature

The searx image proxy is activated by default using Morty.

The default Content-Security-Policy allow the browser to access to {SEARX_HOSTNAME} and https://*;.

If some users wants to disable the image proxy, you have to modify ./Caddyfile. Replace the img-src 'self' data: https://*; by img-src * data:;

Custom docker-compose.yaml

Do not modify docker-compose.yaml otherwise you won't be able to update easily from the git repository.

It is possible to the extend feature of docker-compose :

  • stop the service : systemctl stop searx-docker.service
  • create a new docker-compose-extend.yaml, check with
  • update searx-docker.service (see SEARX_DOCKERCOMPOSEFILE)
  • restart the servie : systemctl restart searx-docker.service

Multi Architecture Docker images

For now only the amd64 platform is supported.

How to update ?

Check the content of

Access to the Filtron API

The Filtron API is available on http://localhost:4041

For example, to display the loaded rules:

curl http://localhost:4041/rules | jq


Create a searx instance using Docker





No releases published