vane / AI GuideGitHub
Back to the guide

Install Vane.
Make it your own.

From a Docker container to your first cited answer. A practical guide to connecting local models, understanding the network, and keeping your setup under your control.

Documentation checked October 21, 2026Docker · Ollama · llama.cpp

One app. Your model.

01 Start Vane + SearXNG
02 Connect a model
03 Search and check the sources

For your own machine or protected infrastructure.

A documentation-based guide. Commands and connection details are checked against upstream documentation. This is not a hands-on benchmark or a report of a completed installation on our hardware. No third-party screenshots or performance results are presented as our own.

Before you start

This guide installs the open-source Vane application, formerly Perplexica. It does not install this informational website. The standard Docker image includes Vane and its SearXNG search backend; a language model is a separate choice.

  • Install Docker Desktop or Docker Engine for your operating system and keep it current.
  • Make sure you have disk space for the image, application data, and any model downloads.
  • Choose a model that fits your hardware and the provider’s requirements. We do not claim a fixed minimum memory requirement for every setup.
  • Keep internet access available: downloading images and models needs it, and live web search still contacts external services.

Check that your Docker client can reach its engine:

Check Docker
docker info

If this fails, fix Docker first. Downloading a local model does not fix an unavailable Docker daemon.

Local models do not make web search offline. Running inference locally can avoid cloud-model requests. Search engines and retrieved websites still receive network traffic. Hosting, electricity, hardware, and optional cloud APIs can also cost money.

Start Vane with Docker

The following command adapts the official Docker quick start to bind the application to your computer’s loopback address:

Start Vane locally
docker run -d -p 127.0.0.1:3000:3000 -v vane-data:/home/vane/data --name vane itzcrazykns1337/vane:latest

Guide adaptation: upstream uses -p 3000:3000. Here, 127.0.0.1:3000:3000 restricts the published port to the host. See Docker’s port publishing documentation, including its caveat for releases older than 28.0.0.

Port
Open http://localhost:3000 on the machine running Docker.
Data
The named volume vane-data is mounted at /home/vane/data.
Image
latest is mutable. Check upstream changes before future updates.

Check the container status and startup logs:

Check startup
docker ps -a --filter name=vane
docker logs --tail 100 vane

Open your instance and complete its setup screen. You still need to select and configure a model. Keep provider credentials inside your own instance; this website never needs them.

Keep this private by default. Do not port-forward an unauthenticated instance to the internet. Use an authenticated access layer before remote use. HTTPS encrypts traffic; it does not decide who is allowed to use the app.

Connect a local model with Ollama

Install Ollama, start it, and download a local model appropriate for your machine. Confirm that the model can answer a short prompt in Ollama before connecting it to Vane. Use the exact model ID you downloaded, rather than a display name copied from a screenshot.

Use the address the container can reach

A working model on the host is only half the setup: Vane runs inside Docker. The current Vane troubleshooting notes give these addresses for a host-installed Ollama server:

Docker hostOllama API URL in Vane
macOS / Windowshttp://host.docker.internal:11434
LinuxYour host’s reachable private IP on port 11434; replace it with your real address.

Select Ollama in your instance’s provider setup, enter the reachable URL, and choose your available model. The UI can change between releases; follow the labels in your installed version.

If the connection fails

Ollama must listen on an address reachable from the container. Its default loopback listener may not be enough for your setup. Follow the official OS-specific environment-variable instructions when changing OLLAMA_HOST, then restart Ollama.

Listening on 0.0.0.0:11434 widens network access. Restrict the port with your host firewall to the required Docker or trusted network traffic. Do not expose it publicly. Docker Desktop and native Linux Docker networking differ; do not assume the same hostname works on every host.

Using a supported cloud provider is another option, with its own credentials, costs, and data handling. This tutorial’s local route does not require buying a cloud-model subscription.

Already using llama.cpp?

The Stackademic article and its Hubwiz translation explore a different local route: llama-server behind an OpenAI-compatible connection. This refers to an API format; it does not require sending your prompts to OpenAI.

Use a current llama.cpp server build and a compatible GGUF model. Here is an illustrative starting command, not a model recommendation or a tested performance configuration:

llama.cpp example — replace model path
llama-server -m "/path/to/your-model.gguf" --alias local-search --host 0.0.0.0 --port 8888

Replace the quoted path with a real GGUF file. On Windows, use your actual executable path, for example .\llama-server.exe. Keep the firewall restriction described above: this example listens on all interfaces so the container can reach it.

Check the server directly from the host:

Inspect served model ID
curl http://localhost:8888/v1/models

The model ID should match the alias local-search. In Vane, add an OpenAI-compatible connection pointing at your reachable server on port 8888 and register that exact model ID. On Docker Desktop, the host name is typically host.docker.internal.

The current Vane provider implementation passes the Base URL to its API client. For this Docker Desktop example, use http://host.docker.internal:8888/v1. Replace the host on Linux. Avoid accidentally producing /v1/v1, and recheck the provider code if your installed version differs. If an unauthenticated local server needs a nonempty key field in Vane, upstream documents using a placeholder. If server authentication is enabled, use the real server credential instead.

Tool calling, chat templates, context size, and memory use depend on your model and server build. We do not repeat the reference articles’ model rankings or copy their hardware-specific tuning values as universal defaults.

Common setup problems

The Docker daemon is unavailable

Open Docker Desktop or start your Docker Engine service. Run docker info again before retrying the container command.

Port 3000 is already in use

Choose another host port. For example, change only 127.0.0.1:3000:3000 to 127.0.0.1:3001:3000, then open localhost:3001. The container port stays 3000.

A container named vane already exists

Check docker ps -a first. If this is your existing installation, start it with docker start vane. Do not delete an unfamiliar container just to free its name.

Vane opens, but cannot reach Ollama

Check the provider URL, model server status, listening address, and firewall. localhost inside the Vane container refers to that container, not your computer.

The model is missing or requests fail

Confirm the exact downloaded or served model ID. Check the model server logs separately from the Vane logs. Start with a short request directly to the model before investigating web search.

Answers are slow or incomplete

Check available memory and model compatibility. Larger context windows consume more memory. Try a smaller supported model or a less demanding search mode; there is no universal RAM or latency guarantee.

When asking upstream for help, include your versions, operating system, failing step, and a short redacted log excerpt. Remove API keys, private documents, personal search history, and other sensitive data before sharing logs.

Updates, persistence, and backups

Recreating a container and deleting its named volume are different operations. Before an update, record your current configuration, review release notes, and back up the data you need. A volume is persistent storage, not a backup by itself.

The official updating guide describes pulling the new image, stopping and removing the old container, then recreating it with the same volume mount. Preserve your loopback port binding when adapting those instructions. Removing the container interrupts service; do not remove vane-data unless you intend to delete the stored data.

If you have changed ports, mounts, provider settings, or other deployment details, keep those differences in your own deployment notes. Reusing a generic command without them can change your setup.

Sources and editorial notes

Primary documentation governs the commands and current connection details in this guide:

Further reading that informed the scope

Written independently from these references. We have not reproduced their screenshots, model test results, or benchmark claims. Upstream software can change after the documentation check date.

Still choosing your setup?

Review the tradeoffs before deciding how to run AI search.

Compare Vane and Perplexity