How I Created my own Search Engine with SearXNG
Table of Contents
Yes, the title is right. I created my very own search engine which is open source and controlled by me. You can (probably) even use it for yourself by going to notgoogle.win! I will guide you through the steps so that you can make your own.
Why do this?⌗
Many search engines (pretty much all of them) collect your data to serve ads based on your searches. Even DuckDuckGo, the “privacy first” search engine has exclusive deals with Microsoft. You can see this when you visit Microsoft services (e.g. LinkedIn) in the DuckDuckGo mobile browser and check the blocked cookies. No Microsoft or LinkedIn domains appear in the list.
You can capture data within the DuckDuckGo so-called private browser on a website like Facebook's https://t.co/u8W44qvsqF and you'll see that DDG does NOT stop data flows to Microsoft's Linkedin domains or their Bing advertising domains.
— โจ๐๐ ๐ฅ ๐๐ก๐ด๐๐ฏ๐ก๐ฐ (@thezedwards) May 23, 2022
iOS + Android proof:
๐๐ซฅ๐ฎโ๐จ๐คกโ๏ธโ๏ธ๐ธ๐ธ๐ธ pic.twitter.com/u3Q30KIs7e
Step 1: Preparing your Server⌗
Get the Server⌗
You can use any Linux computer (e.g. a Raspberry Pi) to run your search engine. Make sure it has a stable internet connection and can be online most of the time. I use a DigitalOcean VPS to run my server in the cloud, but you can also use Vultr. Using my links can get you free $100 credit when you sign up!
Install Docker and Docker-Compose⌗
The way you install Docker and Docker-Compose depends on your distro. Here are the steps for common distros:
Debian/Ubuntu/Raspberry Pi OS (Raspbian):
sudo apt-get update && sudo apt-get install docker.io docker-compose
Fedora/RHEL/CentOS/Rocky Linux:
sudo yum -y install dnf-plugins-core
sudo yum config-manager \
--add-repo \
https://download.docker.com/linux/fedora/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
Arch Linux/Manjaro:
yay -S docker docker-compose
Gentoo Linux:
sudo emerge -q app-containers/docker app-containers/docker-compose
Step 2: Download and Install SearXNG⌗
Download the SearXNG source⌗
Copy the following commands to download SearXNG:
cd /usr/local
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
Start SearXNG⌗
-
Create the key using this command:
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
-
Start the Docker containers using this command:
docker-compose up -d
SearXNG should be started now. You can point any domain(s) you have to the IP address of your server, or you can just use the IP address of your server to test your new search engine!
If you get an error about “too many redirects,” edit the searxng/settings.yml
file and add method: "GET"
under server:
.