Direct link:

Based on: searx by Adam TauberGithub

I stumbled upon this one browsing Github after I had been on the lookout for a preferred search engine with privacy as a priority. Searx fits the bill perfectly. I have not recorded any noticeable resource usage, it would actually be a shame not to have this running!

I love the result, Attic Searx is the default search engine on most of my devices by now and is delivering results above expectation. To register Attic Searx in your browser use “” (without “quotes”)

Feel free to use it, any feedback is always welcome.

This one is pretty much finished as far as I’m concerned. I’ll be keeping an eye on new releases.


I only just started hosting Open Source projects, but figured out enough Python and nginx to get it running. It was a first encounter with uwsgi.

Since docker is still a bit of a black box, I went for the manual installation. Technically it’s a Python script that runs in a virtualenv and is made into a service with uwsgi. Installation went pretty much as described. The short version:

# Install required packages:
sudo -H apt-get install \
       git build-essential libxslt-dev \
       python-dev python-virtualenv python-babel \
       zlib1g-dev libffi-dev libssl-dev \
       uwsgi uwsgi-plugin-python
# Install searx:
cd /usr/local
sudo -H git clone
sudo mv searx searx
sudo -H useradd searx -d /usr/local/searx
sudo -H chown searx:searx -R /usr/local/searx
# Install dependencies in a virtualenv:
cd /usr/local/searx
sudo -H -u searx -i
virtualenv searx-ve
. ./searx-env/bin/activate
./ update_packages
sed -i -e "s/ultrasecretkey/`openssl rand -hex 16`/g" searx/settings.yml
# Edit 'searx/settings.yml' if necessary.
nano searx/settings.yml

# Run as a service with uwsgi
# Create the configuration file searx.ini (cfr below for contents)
sudo nano /etc/uwsgi/apps-available/searx.ini
# Activate the uwsgi application and restart:
cd /etc/uwsgi/apps-enabled
sudo ln -s ../apps-available/searx.ini
sudo systemctl restart uwsgi

Contents of searx.ini:

# Who will run the code
uid = searx
gid = searx
# disable logging for privacy
disable-logging = true
# Number of workers (usually CPU count)
workers = 4
# The right granted on the created socket
chmod-socket = 666
# Plugin to use and interpretor config
single-interpreter = true
master = true
plugin = python
lazy-apps = true
enable-threads = true
# Module to import
module = searx.webapp
# Support running the module from a webserver subdirectory.
#route-run = fixpathinfo:
# Virtualenv and python path
virtualenv = /usr/local/searx/searx-ve/
pythonpath = /usr/local/searx/
chdir = /usr/local/searx/searx/