How to install Searx?

Searx is a decentralized, open-source metasearch engine software. When you submit any search query, Searx forwards it to 70 search engines, and return the results without exposing any personal data or past queries which is used by third parties to profile you.

While I personally use DuckDuckGo, I can see the merits of hosting your own private search instance with Searx. While I believe most, if not all, public instances of Searx are setup with the best intentions (like mine here), you do not know the operators behind such instances and even if they promise to fully respect your privacy today, that might change anytime in the future.

The following tutorial will teach you how to install Searx (with Docker) on Debian:

  1. Update your package list

    sudo apt update

  2. Install Docker
  3. Install the required packages

    sudo apt install nginx python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface python3-certbot-nginx -y

  4. Install Searx

    docker run -d --name searx -p 8888:8888 wonderfall/searx

  5. Create a new server block:

    sudo nano /etc/nginx/sites-available/searx

    Copy and paste the following:

    server {
    listen 80;

    location / {
    proxy_pass http://<REPLACE WITH YOUR IP>:8888;


  6. Create a symbolic link to enable this server block and restart nginx:

    sudo ln -s /etc/nginx/sites-available/searx /etc/nginx/sites-enabled/
    sudo nginx -t
    sudo systemctl reload nginx

  7. Secure Searx with Let’s Encrypt Free SSL

    sudo ufw allow 'Nginx Full'
    sudo certbot --nginx -d -d