Docker installation

Docker image searxng/searxng

The docker image is searxng/searxng (based on

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

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

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 searxng/searxng -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 SearXNG from the embedded Dockerfile.

git clone
cd searx

Public instance

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