Perplexica is a fully open-source, privacy-first alternative to Perplexity AI. It scours the internet using a private search engine, passes results to a local LLM, and returns comprehensive answers with cited sources — all running on your own machine. No API keys, no tracking, no cloud.
The Stack
Prerequisites
- Docker Desktop — download from docker.com (Windows/Mac/Linux installer)
- Git — for cloning the Perplexica repository (git-scm.com)
- LM Studio — download from lmstudio.ai
Step 1 — Clone Perplexica and Configure
-
Create a new folder for the project, open it, click the address bar, type
cmd, and press Enter to open a terminal in that folder. -
Clone the repository:
-
Inside the Perplexica folder, find
sample.config.toml. Copy it and rename the copy toconfig.toml— this is your configuration file. You can leave it as-is for now and configure providers through the UI later.
config.toml directly into a protected directory fails, save it to your Documents folder first, then move it into the Perplexica folder.
Step 2 — Start Perplexica with Docker
Make sure Docker Desktop is running, then in your terminal (inside the Perplexica folder) run:
This builds the Docker image and starts all required containers. The first run downloads everything needed — it takes a few minutes. Once it's done, open your browser and go to:
Step 3 — Set Up LM Studio
-
Install and launch LM Studio.
-
Download the recommended model. In LM Studio, click the Discover icon and search for
Qwen 3B. Download the Qwen2.5 3B GGUF Q8 version — it's lightweight, capable, and has a large context window. -
Configure context length. Go to the Server tab, select the Qwen model, click Load → Context Length and set it to at least 12,000 tokens (higher is better for web search responses). Reload the model after changing this.
-
Start the API server. The LM Studio API server usually starts automatically when you load a model. Confirm it's running in the Server tab.
Step 4 — Connect Perplexica to LM Studio
-
In the Perplexica UI at
localhost:3000, click the gear icon (bottom left) to open Settings. -
Under Chat Model Provider, select Custom OpenAI.
-
Work around the UI bug: The Custom OpenAI settings fields sometimes collapse before you can fill them in. To fix this, temporarily enter any API key for another provider to populate the dropdown, then re-select Custom OpenAI — the fields will reappear.
-
Set the Base URL to:
This is the LM Studio API URL as seen from inside Docker. Enter any value for the model name and a dummy string for the API key (LM Studio doesn't require authentication by default).
(Optional) Add an Embedding Model for Better Search
An embedding model helps Perplexica process and rank search results more efficiently before passing data to the LLM, resulting in more accurate and relevant answers.
A great lightweight option is mxbai-embed-large via Ollama:
- Install Ollama and pull the mxbai-embed-large model.
- In Perplexica Settings, set Embedding Model Provider to Ollama.
- Set the Ollama API URL to:
http://host.docker.internal:11434 - Select mxbai-embed-large as your embedding model.
Using Perplexica
Once everything is configured, start a new chat session, type your search query, and hit Enter. Perplexica will:
- Use SearxNG to privately fetch web results.
- Pass those results to your local Qwen model in LM Studio.
- Return a structured answer with cited sources.
You can ask follow-up questions to explore topics in depth — the full conversation context is maintained throughout the session.
Focus Modes
Perplexica supports focused search modes that restrict results to specific platforms:
- Reddit — community opinions and discussions
- YouTube — video results and transcripts
- Local Documents — upload your own files and chat with them
Restarting Perplexica Later
You don't need to run terminal commands every time. Once the containers are set up:
- Open Docker Desktop.
- Find the Perplexica container and click Run.
- Navigate to
localhost:3000— you're back up immediately.
📦 Want to skip the setup?
The Local Lab offers pre-configured AI installer packages so you can get running in minutes, not hours.
Browse the Store →