---
title: "Deploy Vane (Perplexica) + SearXNG"
description: "Perplexity-style AI answering engine with a private SearXNG backend"
category: "AI/ML"
url: https://railway.com/deploy/vane-perplexica-searxng
---

# Deploy Vane (Perplexica) + SearXNG

Perplexity-style AI answering engine with a private SearXNG backend

**[Deploy Vane (Perplexica) + SearXNG on Railway](https://railway.com/template/vane-perplexica-searxng)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/vane-perplexica-searxng/manifest.json

- **Creator:** Protemplate
- **Category:** AI/ML
- **Total deploys:** 2

## Template content

### SearXNG https://somi-public-assets.s3.ap-southeast-1.amazonaws.com/railway/searxng-wordmark.svg

- **Source:** https://github.com/protemplate/searxng
- **Health check:** /healthz

### Vane https://raw.githubusercontent.com/ItzCrazyKns/Vane/master/public/icon.png

- **Image:** itzcrazykns1337/vane:slim-v1.12.2
- **Health check:** /
- **Public domain:** Yes

## Documentation

# Deploy and Host Vane (AI Answering Engine) with SearXNG on Railway

Vane, formerly Perplexica, is an open-source, privacy-focused AI answering engine. It searches the web through SearXNG, reads the results with the LLM of your choice, and returns cited answers in a Perplexity-style chat UI. It supports OpenAI, Anthropic, Google Gemini, Groq, Ollama, LM Studio, and any OpenAI-compatible server, plus local embeddings that need no API key.

## About Hosting Vane

Vane is a Next.js app that keeps its settings, chat history, and uploads in a single `data` directory, and it needs a SearXNG instance with the JSON format enabled. Upstream's default Docker image bundles SearXNG inside the Vane container. This template follows upstream's documented alternative: the official slim image (`itzcrazykns1337/vane:slim-v1.12.2`) talks to a separate, private SearXNG service over Railway's internal network. Vane gets a public domain, a healthcheck on `/`, and a volume at `/home/vane/data`. SearXNG is built from the same source as the published OpenClaw and Hermes templates (JSON API on, rate limiter off), has no public domain, and keeps its `settings.yml` on its own volume.

## Common Use Cases

- **Private Perplexity alternative**: ask questions and get cited answers without sending queries to a hosted search product
- **Research assistant**: Speed, Balanced, and Quality modes plus academic sources (arXiv, Google Scholar, PubMed)
- **Search API for your apps**: `POST /api/search` returns an answer with sources for any query
- **Document Q&A**: upload PDFs, text, and images and ask questions about them
- **Local-model front end**: point it at Ollama or LM Studio and keep everything self-hosted

## Dependencies for Vane Hosting

- **SearXNG** with `json` in `search.formats` (included, private only)
- **One LLM provider**: an API key for OpenAI, Anthropic, Gemini, or Groq, or a reachable Ollama / LM Studio / Lemonade / OpenAI-compatible endpoint. Not needed to boot; added in the setup wizard
- **Embeddings**: the built-in Transformers provider runs locally with no key, or use OpenAI / Gemini embeddings

### Deployment Dependencies

- [Vane installation docs](https://github.com/ItzCrazyKns/Vane#installation)
- [Vane search API](https://github.com/ItzCrazyKns/Vane/blob/master/docs/API/SEARCH.md)
- [SearXNG documentation](https://docs.searxng.org/)
- [Vane on Docker Hub](https://hub.docker.com/r/itzcrazykns1337/vane)

### Implementation Details

First steps after deploy:

1. Open the Vane domain. The setup wizard runs on first boot.
2. Add a model provider and API key, then choose a chat model and an embedding model (the Transformers option needs no key).
3. The SearXNG URL is pre-filled from `SEARXNG_API_URL`. Finish the wizard and ask your first question.
4. Change providers, models, or the SearXNG URL later in Settings. Env vars are only read on first boot; the Settings page is the source of truth afterwards.

Key variables:

```env
# Vane
PORT=3000
HOSTNAME=0.0.0.0
SEARXNG_API_URL=http://${{SearXNG.RAILWAY_PRIVATE_DOMAIN}}:${{SearXNG.PORT}}
OPENAI_API_KEY=            # optional seed; also ANTHROPIC_API_KEY, GEMINI_API_KEY, GROQ_API_KEY

# SearXNG (private only)
PORT=8080
SEARXNG_BASE_URL=http://${{RAILWAY_PRIVATE_DOMAIN}}:8080/
SEARXNG_SECRET_KEY=${{ secret(32, "abcdefgABCDEFG123456") }}
ENABLE_ALPINE_PRIVATE_NETWORKING=true
```

Vane has no built-in login. Anyone with the URL can chat and read settings through `/api/config`, so keep the URL private or place an authenticating proxy in front of it. The pinned slim image omits Playwright, so Quality mode uses search snippets instead of full page reads; switch the image to `itzcrazykns1337/vane:slim-latest` if you want page scraping.

## Why Deploy Vane 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 Vane on Railway, you get a working AI answering engine with its own private search backend, generated secrets, persistent storage, health checks, managed SSL, and private networking, ready for your API keys in minutes.


## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [stella](https://railway.com/deploy/stella) — Self-host stella with web, API, Postgres, Redis, and object storage.
- [Hermes Agent | OpenClaw Alternative with Dashboard](https://railway.com/deploy/hermes-agent-or-openclaw-alternative-wit) — Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

Open this page in a browser: https://railway.com/deploy/vane-perplexica-searxng
