Deploy SearXNG
Privacy-focused metasearch engine.
Just deployed
/etc/searxng
Deploy and Host SearXNG on Railway
SearXNG is a free, open-source metasearch engine that combines results from many search providers without building a personal search profile. It offers a familiar web interface, configurable engines, categories for web, image, news, and other searches, and JSON responses for privacy-conscious applications that need a self-hosted search endpoint.
About Hosting SearXNG
Hosting SearXNG on Railway requires one public container running the immutable SearXNG image, a public HTTPS domain targeting port 8080, and a strong SEARXNG_SECRET generated when the template is deployed. The container creates /etc/searxng/settings.yml from its built-in template when the configuration volume is empty, so no application-specific settings file has to be supplied for the first deployment. The draft persists /etc/searxng; SearXNG's /var/cache/searxng cache is rebuildable and remains ephemeral because Railway currently permits only one volume per service. Set SEARXNG_LIMITER=false when the instance is called by trusted applications that do not provide proxy bot-detection headers.
Common Use Cases
- Running a private, privacy-respecting alternative to centralized web search
- Providing a self-hosted search backend for dashboards, assistants, and other applications
- Combining web, image, news, video, and specialized search engines behind one configurable interface
Dependencies for SearXNG Hosting
- The digest-pinned
ghcr.io/searxng/searxng:2026.7.26-b060c780dcontainer image - One Railway public service domain targeting container port
8080 - One Railway persistent volume mounted at
/etc/searxngfor generated configuration - Outbound network access to the external search engines selected in SearXNG
Deployment Dependencies
- SearXNG documentation
- SearXNG source repository
- SearXNG container package
- Reference Umbrel deployment contract
Implementation Details
- Single Railway service named
SearXNG, with no underscore in the service name so the generated hostname remains compatible with Werkzeug. - The exact image digest is
sha256:d0aaeb14880e6e92bde1518fcc7261e995783367d63d95203383607bef9c6516. - Railway exposes HTTPS on port
8080, checks/, and restarts the service withON_FAILUREand up to 10 retries. SEARXNG_SECRETis generated with Railway's${{secret(64, "abcdef0123456789")}}function;SEARXNG_LIMITER=falsedisables the limiter for callers that cannot provide the expected proxy headers.- The requested Umbrel contract names
/etc/searxngand/var/cache/searxngas separate mounts. Railway's current platform limit allows only one volume per service, so this draft uses/etc/searxng; the cache path is non-authoritative and can be recreated.
This is a community-maintained deployment template and does not imply affiliation with or endorsement by SearXNG.
Why Deploy SearXNG on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying SearXNG on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
