Docker installation

Docker image searx/searx

The docker image is searx/searx (based on

Make sure you have installed Docker. For instance, you can deploy a local instance:

export PORT=80
docker pull searx/searx
docker run --rm -d -v ${PWD}/searx:/etc/searx -p $PORT:8080 -e BASE_URL=http://localhost:$PORT/ searx/searx

Go to http://localhost:$PORT.

Inside ${PWD}/searx, you will find settings.yml and uwsgi.ini. You can modify these files according to your needs and restart the Docker image.

Command line

docker run --rm -it searx/searx -h
Command line:

  -h  Display this help
  -d  Dry run to update the configuration files.
  -f  Always update on the configuration files (existing files are renamed with the .old suffix)
      Without this option, the new configuration files are copied with the .new suffix

Environment variables:

  INSTANCE_NAME settings.yml : general.instance_name
  AUTOCOMPLETE  settings.yml : search.autocomplete
  BASE_URL      settings.yml : server.base_url
  MORTY_URL     settings.yml : result_proxy.url
  MORTY_KEY     settings.yml : result_proxy.key
  BIND_ADDRESS  uwsgi bind to the specified TCP socket using HTTP protocol. Default value: ""


  /etc/searx    the docker entry point copies settings.yml and uwsgi.ini in this directory (see the -f command line option)

Build the image

It’s also possible to build searx from the embedded Dockerfile.

git clone
cd searx
make docker

Public instance

If you intend to create a public instance using Docker, see