---
title: "Deploy SearXNG on StackBlaze"
description: "Deploy SearXNG with a Valkey cache and a public HTTPS URL. It sends your query to dozens of search services at once and shows the combined results, without accounts, tracking or search history. Bot protection and rate limits are on from the first request, and the secret key is generated at deploy."
category: "utilities, productivity, security"
url: https://www.stackblaze.com/templates/searxng
---

# Deploy SearXNG

Deploy SearXNG with a Valkey cache and a public HTTPS URL. It sends your query to dozens of search services at once and shows the combined results, without accounts, tracking or search history. Bot protection and rate limits are on from the first request, and the secret key is generated at deploy.

**[Deploy SearXNG on StackBlaze](https://dashboard.stackblaze.com/new/template/searxng)**

## This stack

- **SearXNG**: Web service
- **Valkey**: managed cache · TCP:6379

## What you get

- **Many engines, one page**: Each search goes to several web, news, image, video, map and science sources at once. Results are merged, ranked and labelled with the engines that found them.
- **No tracking**: No accounts and no search history. Preferences live in a cookie in your own browser, and the search services see your instance, not your visitors.
- **Images through your instance**: Result thumbnails load through the built in image proxy, signed with your secret key, so visitors’ browsers never contact the image hosts directly.
- **Bot protection on**: The limiter checks every search and answers scripts and bursts with HTTP 429. It keeps your instance usable and its address in good standing with the search services.
- **Categories and bangs**: Switch between General, Images, Videos, News, Map, Music, IT, Science and Files, or jump straight to one engine with a bang such as !wp.
- **Yours to configure**: Pick the engines, default language, theme and safe search in settings.yml on the app’s volume. Visitors can change their own preferences without an account.

## After you deploy

1. **Open your instance**: The public URL shows the SearXNG start page about a minute after deploy. Type a query and the results arrive from several engines at once.
2. **Set a contact address**: Some engines ask instance operators for a contact. SEARXNG_CONTACT_URL starts as your app URL; change it to your own mailto: address or contact page under Variables.
3. **Choose your engines**: Open the app console and edit /etc/searxng/settings.yml to turn engines on or off or change the defaults, then redeploy. Each visitor can also adjust their own preferences.

## How it is wired

- **Limiter with Valkey**: Per address limits and bot checks run on every search, backed by the attached Valkey. The app waits for Valkey at start, so the limiter is never silently off.
- **Real client addresses**: Limits apply to each visitor’s own address, taken from the platform’s ingress. A visitor cannot dodge them by sending a forged X-Forwarded-For header.
- **Generated secret**: SEARXNG_SECRET is generated at deploy and signs image proxy links, so nobody else can use your instance to fetch arbitrary URLs.
- **Settings on a volume**: settings.yml and limiter.toml live on a volume at /etc/searxng and survive redeploys. Nothing else is stored: there is no database and no search history.

## Common questions

### Do I need to sign in?

No. SearXNG has no accounts. Anyone with the URL can search, and each visitor’s preferences are kept in a cookie in their own browser.

### Can anyone use my instance?

Yes, it is public like any search page. The limiter blocks scripts and bursts from a single address. For stricter checks set SEARXNG_PUBLIC_INSTANCE to true, which also requires each visitor’s browser to load the page before searching.

### Which search engines does it use?

Upstream’s default set for each category: web, images, videos, news, maps, music, IT, science and files. Change the list in settings.yml, or let visitors pick engines in their preferences.

### Why does an engine sometimes return nothing?

Search services rate limit or ask for a CAPTCHA now and then. SearXNG skips that engine for a while and answers from the others, so a search still returns results.

### Can I use it from scripts or other apps?

The JSON API is off by default. Add json to search.formats in settings.yml to turn it on, and keep in mind the limiter applies to API calls too.

### Can I use my own domain?

Yes. Attach a custom domain from the dashboard and set SEARXNG_BASE_URL to it, so links and the browser search plugin use your domain.

### What does it cost?

You pay for the compute, storage and bandwidth SearXNG and Valkey use, not per search or per user.


Source: https://github.com/searxng/searxng
