Deploy SearXNG Metasearch Engine
Privacy-respecting metasearch engine with no tracking or profiling.
searxng
Just deployed
/etc/searxng
Deploy and Host SearXNG on Railway
SearXNG is an open-source metasearch engine. It forwards your query to dozens of upstream search engines, merges and re-ranks the results, and returns them without logging the query, tracking the user, or building a profile.
About Hosting SearXNG
Hosting SearXNG means running a Python web application that must keep its generated settings and secret key across restarts, reach the public internet to query upstream engines, and serve HTTP behind TLS. This template handles that: the official SearXNG image, a persistent volume for the settings directory, a public domain with managed TLS, and health checks on /healthz.
Why Deploy SearXNG on Railway?
- Persistent volumes keep
settings.ymland the instance secret stable across deploys, so sessions and preferences survive. - Managed TLS and a public domain put the instance online without a reverse proxy in front of it.
- Health checks on
/healthzstop a broken rollout from taking traffic. - Per-instance isolation means your searches leave from your own instance rather than a shared public one.
Common Use Cases
- A private default search engine for a household or small team, with no query logging.
- A self-hosted search backend for scripts and agents that need results from several engines at once.
- A drop-in replacement for public SearXNG instances, which are frequently rate-limited or blocked by upstream engines.
Dependencies for SearXNG Hosting
SearXNG runs as a single service. It needs no external database. A Redis/Valkey instance is optional and only used for rate limiting and the bot-detection filter.
Deployment Dependencies
- SearXNG official Docker image
- SearXNG documentation
- A persistent volume for the settings directory
Implementation Details
After the deploy finishes, open the service domain and search. To make it your browser's default engine, point the browser at the OpenSearch descriptor the instance serves at /opensearch.xml.
Edit settings.yml on the mounted volume to enable or disable individual upstream engines, change the default language, or switch the theme. Restart the service to pick up changes.
Template Content
searxng
searxng/searxng:latestPORT
SEARXNG_PORT
