Vane
AI-powered search engine, formerly Perplexica
Perplexica is an open-source AI-powered answer engine that searches the web and uses language models to provide sourced answers. It can run fully self-hosted alongside SearXNG and local LLMs.
Key features
- AI answers with cited sources
- Works with local LLMs
- Multiple focus modes
- Uses SearXNG as a backend
Quick deploy
A starting point for self-hosting Vane - check the official docs for the full set of options.
- Image
itzcrazykns1337/vane:latest - Web port
3000 - Persist
/home/vane/data
Docker Compose
services:
vane:
image: itzcrazykns1337/vane:latest
ports:
- "3000:3000"
volumes:
- ./data:/home/vane/data
restart: unless-stoppeddocker run
docker run -d --name vane \
-p 3000:3000 \
-v ./data:/home/vane/data \
--restart unless-stopped \
itzcrazykns1337/vane:latestPros & cons
Strengths
- Self-hosted AI search
- Simple Docker deployment
- Free and open source
Trade-offs
- LLM backend required
- Young project
Vane replaces
Last reviewed Aug 26, 2026 · 775 words
Vane, the project most people still know as Perplexica, is the closest thing to a self-hosted Perplexity: type a question, it runs web searches through your own SearXNG, reads the top results, and writes an answer with numbered citations. Run it against a local model through Ollama and no query leaves your network except the search requests SearXNG fans out. That is the pitch and it is delivered. The caveat is the one every local-AI tool shares: the answer quality is the model's, not the app's, and an 8B model produces summaries that are useful but not the Perplexity experience. 36,476 stars, MIT, first released in 2024, and the rename is recent enough that parts of the documentation still say Perplexica.
What the stack looks like
Two containers: Vane itself on port 3000 and a SearXNG instance it talks to internally. The project's compose file ships both, with a SearXNG config that enables the JSON output format Vane requires; if you point it at an existing SearXNG, that json format has to be enabled in settings.yml or every search silently returns nothing. Settings and chat history live in /home/vane/data. The model provider is chosen in the settings screen: Ollama, an OpenAI-compatible URL, or the paid APIs. Budget 1 GB of RAM for the app and the searcher, plus whatever your model server needs.
services:
vane:
image: itzcrazykns1337/vane:latest
ports:
- "3000:3000"
volumes:
- ./data:/home/vane/data
restart: unless-stopped
Combine that with the SearXNG service from the upstream compose file rather than writing your own; the searcher's settings are the part people get wrong. There is also a search API on the same port, so other tools on your network can POST a question and get back the answer plus its sources as JSON; I use it from a small script to turn "look this up" messages in chat into a cited paragraph, and it is the reason the app is worth keeping running even when nobody has the UI open.
Focus modes change what gets searched
The mode selector is more than a UI flourish. All is the general web; Academic routes through scholarly engines; YouTube, Reddit and Wolfram Alpha scope the SearXNG query to those sources; Writing skips search and just talks to the model. In practice Reddit mode is the one I use most, because "what do people who actually own this think" is the question mainstream search has got worse at answering. There is also a copilot-style option that generates several sub-queries per question and merges the results, which improves recall on vague questions at the cost of 3 to 5 times the search traffic.
The model is the ceiling
Two models matter: a chat model that writes the answer and an embedding model that ranks the fetched passages. With Ollama, an 8B chat model and a small embedder such as nomic-embed-text fit on a 12 GB GPU with room to spare and answer in 10 to 20 seconds. Go down to 3B and citations start to drift from what the source actually said. Go up to a 30B-class model and the summaries become genuinely good, but you are into serious hardware. The pragmatic hybrid is local embeddings with a paid chat model; you still keep your search history and your query routing at home.
Where it sits against the alternatives
Morphic is the other open answer engine and leans on paid search APIs by default, which makes Vane the better fit for a fully self-hosted stack. Open WebUI can do web search inside a chat, but as a feature of a chat app rather than a search-first interface, and its citation display is weaker. For the broader story of replacing search, the Google Search alternatives page covers the plain SearXNG route too; Vane is what you add on top when you want an answer rather than ten links.
What I'd do
Deploy the upstream compose file so SearXNG is configured correctly, put Vane behind your reverse proxy with authentication because it has none of its own, and point it at Ollama with an 8B chat model and nomic-embed-text. Use Reddit and Academic modes for the questions they fit and All mode for the rest. If the summaries are not good enough, switch only the chat model to a paid API and keep everything else local. That configuration is the one I would leave running; it is 90% of Perplexity for the price of a GPU you already have.
Compare Vane
16 head-to-head comparisons.
Similar search engines apps
Elasticsearch
Search EnginesDistributed search and analytics engine
Replaces Algolia, Splunk
Meilisearch
Search EnginesFast, typo-tolerant search engine for applications
Replaces Algolia, Elasticsearch
Milvus
Search EnginesOpen-source vector database built for scalable similarity search
Replaces Pinecone, Elasticsearch
SearXNG
Search EnginesPrivacy-respecting metasearch engine aggregating many sources
Replaces Google Search, Bing
Qdrant
Search EnginesHigh-performance open-source vector search engine
Replaces Pinecone, Algolia
Typesense
Search EnginesOpen-source typo-tolerant search engine optimized for speed
Replaces Algolia, Elasticsearch