How to Install Searx Meta Search Engine on Ubuntu 18.04 LTS

Searx is a free and open source metasearch engine with the aim of protecting the privacy of its users. Searx can fetch search results from about 70 different engines, like Bing and Google. Searx does not share users' IP addresses or search history with the search engines.

In this tutorial, we will learn how to install Searx on Ubuntu 18.04 server.


  • A server running Ubuntu 18.04.
  • A static IP address is set up to your server.
  • A non-root user with sudo privileges.

Getting Started

Before starting, you will need to update your system with the latest version. You can do this by running the following command:

sudo apt-get update -y
sudo apt-get upgrade -y

Once your system is updated, restart the system to apply the changes.

Next, you will need to install some dependencies required by Searx. You can install all of them by running the following command:

sudo apt-get install git build-essential python-babel zlib1g-dev libffi-dev libssl-dev libxslt-dev python-dev python-virtualenv -y

Install Searx Meta Search Engine

First, you will need to download the latest version of Searx from the Git repository. You can download it with the following command:

cd /opt/
sudo git clone

By default, Searx is accessible only from the local system. So, you will need to configure Searx to access from the remote system. You can do this by editing /opt/searx/searx/settings.yml file:

sudo nano /opt/searx/searx/settings.yml

Change the line:


bind_address : ""


bind_address : ""

Replace with the public IP of your server. Save and close the file, when you are finished.

Next, change the directory to searx and activate the Searx virtual environment:

cd /opt/searx
sudo virtualenv searx-ve
sudo source searx-ve/bin/activate

Next, update the Searx with the following command:

sudo ./ update_packages

Next, start the Searx with the following command:

sudo python searx/


 * Serving Flask app "webapp" (lazy loading)
 * Environment: production
   WARNING: Do not use the development server in a production environment.
   Use a production WSGI server instead.
 * Debug mode: off

Access Searx Web Interface

Searx is now up and listening on port 8888. Open your web browser and type the URL (change Ip to your IP here). You will be redirected to the Searx default page as shown below:

Search search interface

Share this page:

Suggested articles

7 Comment(s)

Add comment


By: Laniakea at: 2018-12-10 02:05:40

What if i want to serve Searx with Nginx?

By: Alexandros Rapsomanikis at: 2019-01-03 02:27:29

You can find more info about the Nginx configuration at the installation guide located here:

By: Tom at: 2019-01-17 11:44:30

Hi there, how do you make it that the application is visible not just on port 8888?

By: George at: 2019-02-15 02:33:06

I`m new to linux and searx can you answer this question, can searx be installed on shared hosting ?

By: Steve at: 2019-09-10 18:13:04

I get to the point where I type

sudo ./ update_packages

and receive the following error:  ./ pip: not found .

I searched for , and it does exist in opt/searx .  I tried to run the command from the directory where the file is located and received the same error.   I'm using Ubuntu 32 bit.

I'm new to Linux, so I apologise in advance for not knowing what I'm doing.

By: Hirsebrei at: 2019-09-25 05:29:36

apt install python3-pip

By: Hailey at: 2020-01-16 21:55:57

Hey, how can I make this run when I boot? I plan to use my private searx instance as my default search engine, but it is kind of annoying having to change users, start the virtual environment and run the python command every time I restart the computer...