Why I Switched from Perplexity to Perplexica
Last week at 2 AM, while I was in the middle of debugging a data scraping bot, I suddenly received a “Daily limit reached” notification from Perplexity. It was an incredibly frustrating feeling. Being dependent on a $20/month platform yet still facing quota limits pushed me to find a self-hosted alternative.
After trying several tools, I chose Perplexica. This is an open-source project that replicates how Perplexity AI works. It uses SearxNG to crawl the internet, then feeds that data into Large Language Models (LLMs) like Claude, GPT-4, or Llama 3 running locally via Ollama to synthesize the answer. You have full control over your data, no worries about it being used for model training, and most importantly, it’s completely free.
Installing Perplexica: Fast, Simple, and Clean
You could install it manually using Node.js and Python, but don’t waste your time diving into that mess of dependencies. Docker Compose is the smartest choice to keep your environment clean.
1. Environment Preparation
Your server (VPS) or PC needs to have Docker installed. I’m running this system on an Ubuntu 22.04 VPS with 8GB of RAM. If you’re running LLMs locally via Ollama, prioritize a machine with a GPU so the response time isn’t painfully slow.
2. Clone Source Code and Configure
Start by cloning the repository from GitHub:
git clone https://github.com/ItSOSS/perplexica.git
cd perplexica
Next, create a configuration file from the provided sample:
cp sample.config.toml config.toml
3. Launch with Docker Compose
The included docker-compose.yaml file already contains the frontend, backend, and SearxNG. You just need to execute the command:
docker compose up -d
The system will download the necessary images. Note that the SearxNG image is quite heavy (around 1GB). If your connection is slow, be patient or switch to Google or Cloudflare DNS to speed up the download.
Configuring the System’s “Brain”
Just because the containers are running doesn’t mean it’s ready to use. You need to tell Perplexica which model it should use for reasoning.
Connecting LLMs via API or Locally
Open the config.toml file and focus on the provider section. I’ve tested two approaches:
- Using Groq (Prioritize Speed): Groq supports Llama 3 with response speeds up to 250-300 tokens/second. It’s almost instant after you hit Enter.
- Using Ollama (Prioritize Privacy): Ideal when you don’t want any data to leave your machine.
A common mistake that keeps people struggling for hours is a Docker connection error. If running Ollama on the same machine, don’t use localhost. Change it to:
[EVNIRONMENTS]
# Address for the backend container to see the host
OLLAMA_URL = "http://host.docker.internal:11434"
Optimizing SearxNG (The Search Eyes)
SearxNG is an excellent anonymous search engine, but it often gets its IP blocked by Google. My experience is to go into searxng/settings.yml and enable additional engines like DuckDuckGo or Brave Search. Diversifying search sources helps the system stay stable if one engine goes down.
Operation and Troubleshooting
Every time you modify the config.toml file, you need to restart the backend to apply changes:
docker compose restart backend
Now, open your browser and go to http://localhost:3000. The interface is very minimalist and modern. If you hit search and get an “Internal Server Error”, don’t panic. Check the logs immediately:
docker compose logs -f backend
Usually, this error is due to an incorrect API key or SearxNG being rate-limited. If using a VPS, consider configuring a simple proxy to avoid being blacklisted by search engines.
Specialized Search Modes
Perplexica doesn’t just do general searches. It has very valuable modes:
- Academic Search: Only searches through scientific papers, extremely useful for researchers.
- YouTube Search: It scans video transcripts to answer, saving you hours of watching long clips.
When using Academic Search, results always come with accurate citations. The quality is on par with expensive paid tools.
Real-world Performance Evaluation
If running on a pure CPU, models like Llama-3-8B will take about 10-15 seconds to respond. Conversely, if you have a GPU (like an RTX 3060 or higher), the speed is nearly instantaneous. Building your own AI Search Engine doesn’t just save you $20 a month. It’s also an opportunity to deeply understand Retrieval-Augmented Generation (RAG) — the core technology behind today’s AI giants.

