How to Install SearXNG on Ubuntu 24.04 SearXNG is a privacy-respecting metasearch engine that aggregates results from multiple search engines without tracking users. This guide will show you how to install and configure SearXNG on Ubuntu 24.04. Step 1 – Update Your System sudo apt update && sudo apt upgrade -y Step 2 – Install Dependencies and Redis sudo apt install -y python3-dev python3-babel python3-venv python-is-python3 \ git build-essential libxslt-dev zlib1g-dev libffi-dev libssl-dev redis-server curl \ uwsgi uwsgi-plugin-python3 Enable and start Redis: sudo systemctl enable --now redis-server Confirm Redis is running: redis-cli ping Expected output: PONG Step 3 – Create a Dedicated User and Directories Create a Dedicated User and Directories: sudo useradd -r -m -d /usr/local/searxng -s /bin/bash searxng sudo mkdir -p /usr/local/searxng/searxng-src sudo chown -R searxng:searxng /usr/local/searxng Step 4 – Clone the SearXNG Repository Switch to the new user and clone the official repository: sudo -u searxng git clone https://github.com/searxng/searxng.git /usr/local/searxng/searxng-src Step 5 – Create and Activate a Virtual Environment sudo -u searxng python3 -m venv /usr/local/searxng/searx-pyenv sudo -u searxng /usr/local/searxng/searx-pyenv/bin/pip install --upgrade pip setuptools wheel Step 6 – Install Dependencies and SearXNG sudo -u searxng /usr/local/searxng/searx-pyenv/bin/pip install -r /usr/local/searxng/searxng-src/requirements.txt sudo -u searxng /usr/local/searxng/searx-pyenv/bin/pip install --use-pep517 --no-build-isolation -e /usr/local/searxng/searxng-src Step 7 – Create Configuration File Generate a secret key: sudo -u searxng /usr/local/searxng/searx-pyenv/bin/python -c "import secrets; print(secrets.token_hex(32))" Copy the key and create the config file: sudo mkdir -p /etc/searxng sudo nano /etc/searxng/settings.yml Example content: use_default_settings: true general: debug: false instance_name: "SearXNG" server: secret_key: "PASTE_YOUR_SECRET_KEY_HERE" public: true bind_address: "0.0.0.0" port: 8888 redis: url: "redis://localhost:6379/0" Save and exit. Step 8 – Create Systemd Service sudo nano /etc/systemd/system/searxng.service Add the following: [Unit] Description=SearXNG Meta-Search Engine After=network.target redis-server.service Wants=redis-server.service [Service] Type=simple User=searxng Group=searxng WorkingDirectory=/usr/local/searxng/searxng-src Environment="SEARXNG_SETTINGS_PATH=/etc/searxng/settings.yml" Environment="PYTHONPATH=/usr/local/searxng/searxng-src" ExecStart=/usr/local/searxng/searx-pyenv/bin/python -m searx.webapp Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target Step 9 – Enable and Start the Service sudo systemctl daemon-reload sudo systemctl enable --now searxng Check its status: sudo systemctl status searxng Step 10: Allow the Port in Firewall Open your web browser and go to: sudo ufw allow 8888/tcp Step 11: Access Your SearXNG Instance Open your browser and go to: http://<your-server-ip>:8888 You’ll see the SearXNG search page, ready to use — fast, customizable, and fully privacy-focused. You’ve successfully installed SearXNG on Ubuntu 24.04! Enjoy private, decentralized web searches without tracking or ads.