Analytics cookies only (Google Analytics, PostHog). No ad networks, no cross-site tracking. See our privacy policy.
V(
Self-host Vane (formerly Perplexica)
updated Oct 2026deployed by usprices checked · Jul 2026Install verified on Ubuntu 26.04 · Oct 2026 · how we test
We earn commissions when you shop through the links below. Full disclosure →
A privacy-focused AI answering engine, renamed from Perplexica to Vane: it runs web searches through a bundled SearXNG instance and has an LLM write answers with cited sources, with speed, balanced and quality search modes, image and video search, file uploads and locally stored search history. MIT-licensed TypeScript on Next.js; it answers through a model provider you configure, either local Ollama or a cloud API key.
Runs on a VPS from $12/mo (Kamatera 4GB, 4 GB RAM) · prices checked Sep 2026
Our recommendation
Pick Vane, the project formerly called Perplexica, when you want a Perplexity-style answer engine on your own server: it runs web searches through a bundled SearXNG, has a language model write an answer with cited sources, and adds speed, balanced and quality modes, web, discussion and academic sources, image and video search, file uploads and a locally stored search history. It is MIT-licensed TypeScript on Next.js, and the default `itzcrazykns1337/vane` image bundles SearXNG and a headless Chromium, so our snippet is the repo's compose file pinned to a release: one container, one data volume. It answers nothing until you configure a model provider in the setup screen, either a local Ollama or an OpenAI, Anthropic, Gemini or Groq key. Upstream publishes no RAM minimum, so our 2 GB floor is an estimate for Node, SearXNG and Chromium together. Open WebUI, LibreChat and LobeHub are the catalog's chat front-ends and Ollama, vLLM, LocalAI and LiteLLM serve the models; Vane is the search-and-cite layer you put on top of one of them.
What you need
Any VPS with at least 2048 MB of RAM
A domain you control — most self-hosted setups need HTTPS in front of them
Paid link — we earn a commission if you shop through it.
Install
Run these commands on your server:
# Vane (formerly Perplexica) — AI answer engine with bundled SearXNG — based on the docker-compose.yaml in the Vane repo, pinned to v1.12.2cat > docker-compose.yml <<'EOF'services: vane: image: itzcrazykns1337/vane:v1.12.2 restart: unless-stopped ports: - 3000:3000 volumes: - vane-data:/home/vane/datavolumes: vane-data:EOFdocker compose up -d# → http://SERVER_IP:3000 — the setup screen asks for a model provider (Ollama URL or an API key) before it can answer anything
Vane's README and update guide leave these for you to handle:
non-negotiableThe project was renamed from Perplexica to Vane: the repository now lives at ItzCrazyKns/Vane, the image is itzcrazykns1337/vane, and the old itzcrazykns1337/perplexica Docker Hub repository stops at an earlier version. The repo's compose file and update guide use the latest tag; our snippet pins the release tag, and the slim- variant is for pointing at a SearXNG you already run, which upstream says must have JSON output and the Wolfram Alpha engine enabled.
non-negotiableSettings, API keys, chat history and uploads live in the vane-data volume mounted at /home/vane/data, where the container runs its database migrations on start. Upstream's update procedure is docker rm the container and run a new one against the same volume, so that volume is the only thing to back up, and deleting it loses everything.
non-negotiableThe README describes no login or access control: the setup screen, its stored provider keys and the chat are available to anyone who can reach port 3000 on plain HTTP, so put it behind a reverse proxy with TLS and your own authentication before exposing it. SearXNG inside the container sends every search to public engines from your server's IP address.
non-negotiableA local model needs Ollama reachable from the container: on Linux the README says to use the host's private IP (not localhost) and to set OLLAMA_HOST=0.0.0.0:11434 in Ollama's systemd unit; a self-hosted OpenAI-compatible server must listen on 0.0.0.0 and the API key field must not be left empty even when the server needs no key.