SimpleXNG is a simplified package of SearXNG to make it a single command to run for local use.
The official install options for SearXNG are a bit complex and assume admin privileges to set up. This can be simplified a lot if you're just wanting to run it locally for your own use.
SimpleXNG is a tiny package to run SearXNG locally on macOS, Linux, or Windows.
I wrote this since a friend was asking me why it wasn't easier to set up for "localhost" use or embedded use. I thought I'd see if it worked as a minimal, modern uv package.
-
Install uv if you haven't already.
-
Install:
uv tool install --upgrade simplexng
-
Run it:
simplexng --open
See more options:
simplexng --help
-
SimpleXNG uses uv to manage the Python dependencies.
-
It omits Apache, Nginx, and Docker setup.
-
It by default uses the minimal template settings with Redis and rate limiting turned off. (You can adjust the settings file if desired.)
-
Since SearXNG is distributed in Docker images only, we vendor a recent copy of SearXNG so it is all available in a single package from PyPI for quick installation.
-
On first run, it sets up a minimal config file (on macOS and Linux it will be
~/.config/simplexng/settings.yml
), which you can edit and will be used on subsequent runs. -
You can see the version of SearXNG being used with
simplexng --version
. If you want a newer or different build, you can clone this repo and run:./scripts/clone_searxng.sh HEAD # Or pick a revision uv run simplexng
-
Note this code and SearXNG are AGPL-3.0 licensed.
For how to install uv and Python, see installation.md.
For development workflows, see development.md.
For instructions on publishing to PyPI, see publishing.md.
This project was built from simple-modern-uv.