Join our Discord Server
Manish Lingadevaru Manish Lingadevaru is a Founder and Cheif Executive Officer at AetherMed, working the real time Medical project models on GenAI, Campus Ambassador at Pravega IISc, Student at Rajarajeswari College of Engineering. You can connect with him on LinkedIn (https://www.linkedin.com/in/manish-l-b3a002310)

Self-Host Perplexica AI: The Ultimate Docker and Ollama Setup

2 min read

Self-Host Perplexica AI: Easy Docker & Ollama Guide

This guide offers a step-by-step walkthrough of how you can deploy your own personal AI assistant, Perplexica, using two powerful, modern technologies: Docker Desktop and the Ollama model.

The objective is to demystify the process of setting up a sophisticated AI application in a local, controlled environment.

  • Perplexica – An open-source, personalized AI assistant application that functions as a powerful tool for information retrieval and generation.
  • Docker Desktop – Provides the containerization environment, allowing you to package the Perplexica application and its dependencies into a single, isolated unit. This ensures the assistant runs reliably and consistently on any machine, regardless of the operating system.
  • Ollama – The engine that brings the intelligence to the assistant. Ollama simplifies running Large Language Models (LLMs) such as llama3 and embedding models like nomic-embed-text directly on your own hardware.

Architecture of Perplexica AI

Self-host Perplexica AI setup guide illustration

Step 1: Install Docker Desktop

The process starts with navigating to the official Docker website and downloading the installer specific to your operating system (Windows or macOS).

For macOS:

  1. Go to the official Docker website and download the Docker Desktop for Mac installer (a .dmg file).
  2. Double-click the downloaded .dmg file to open the installer.
  3. Drag the Docker icon to the Applications folder.
  4. Double-click the Docker app in your Applications folder to start it. You may need to grant it permissions.
Self-host Perplexica AI setup guide illustration.

Step 2: Pull the Ollama Models

This step uses the OLLAMA command-line tool to download pre-trained AI models directly to your local machine. By “pulling” the models, you are retrieving the model files from a remote repository, making them available for OLLAMA to run.

Run the following commands in your terminal:

ollama pull llama3
ollama pull nomic-embed-text
  • llama3 – A powerful Large Language Model (LLM) used for generating and understanding human-like text. This forms the core intelligence for the Perplexica assistant.
  • nomic-embed-text – An embedding model crucial for efficient information retrieval. It converts text into numerical vectors (embeddings), allowing the assistant to quickly search and understand the context of information.

Expected Output:

pulling manifest 
pulling 6a0746a1ec1a: 100% ▕██████████████████████████████████████▏ 4.7 GB
pulling 4fa551d4f938: 100% ▕██████████████████████████████████████▏  12 KB
pulling 8ab4849b038c: 100% ▕██████████████████████████████████████▏  254 B
pulling 577073ffcc6c: 100% ▕██████████████████████████████████████▏  110 B
pulling 3f8eb4da87fa: 100% ▕██████████████████████████████████████▏  485 B
verifying sha256 digest 
writing manifest 
success 

pulling manifest 
pulling 970aa74c0a90: 100% ▕██████████████████████████████████████▏ 274 MB
pulling c71d239df917: 100% ▕██████████████████████████████████████▏  11 KB
pulling ce4a164fc046: 100% ▕██████████████████████████████████████▏   17 B
pulling 31df23ea7daa: 100% ▕██████████████████████████████████████▏  420 B
verifying sha256 digest 
writing manifest 
success 

Step 3: Clone the Perplexica Repository

Clone the Perplexica source code from GitHub and navigate into the project directory:

git clone https://github.com/ItzCrazyKns/Perplexica.git
cd Perplexica

Expected Output:

Cloning into 'Perplexica'...
remote: Enumerating objects: 6991, done.
remote: Counting objects: 100% (448/448), done.
remote: Compressing objects: 100% (91/91), done.
remote: Total 6991 (delta 386), reused 357 (delta 357), pack-reused 6543 (from 2)
Receiving objects: 100% (6991/6991), 108.62 MiB | 3.19 MiB/s, done.
Resolving deltas: 100% (4362/4362), done.

Note: The original guide references copying a sample config file (cp sample.config.toml config.toml), but this file may not exist in newer versions of the repository. The configuration is now handled through the web UI (covered in Step 5).


Step 4: Deploy Perplexica AI with Docker Compose

Launch the complete application stack using Docker Compose:

docker compose up -d
  • docker compose up – Reads the docker-compose.yml configuration file and starts all defined services.
  • -d – Runs containers in detached (background) mode, freeing up your terminal.
Self-host Perplexica AI setup guide illustration.

What Happens During Deployment:

ComponentDescription
Image PullThe Docker image itzcrazykns1337/perplexica:latest is downloaded from the registry
NetworkA network (perplexica_default) is created for container communication
VolumeA volume (perplexica-data) is created for persistent data storage
ContainerThe Perplexica application starts as an isolated container

Expected Output:

 ✔ Image itzcrazykns1337/perplexica:latest Pulled
 ✔ Network perplexica_default              Created
 ✔ Volume perplexica-data                  Created
 ✔ Container perplexica-perplexica-1       Created

Step 5: Access and Configure the AI

Once Perplexica is deployed, access and configure the AI model through its web interface.

Access the UI

Open a web browser and navigate to:

http://localhost:3000

Configure the Model

  1. Click the Settings icon (cog icon in the bottom left).
  2. Select Ollama as the Chat Model Provider.
  3. Set the Ollama API URL to: http://host.docker.internal:11434 This is the correct address for the Docker container to communicate with the OLLAMA service running on your host machine.
  4. Select llama3:latest as the Chat Model.
  5. Select nomic-embed-text as the Embedding Model.
  6. Click Save Changes.
Self-host Perplexica AI setup guide illustration.

Conclusion

This guide walked through a multi-step deployment process to successfully launch a personal AI assistant using a powerful combination of technologies:

  1. Docker Desktop established the containerization environment.
  2. OLLAMA models provided the core intelligence — llama3 for LLM capabilities and nomic-embed-text for efficient information retrieval through embeddings.
  3. Perplexica tied it all together into a clean, accessible web interface running entirely on your local machine.

References

Have Queries? Join https://launchpass.com/collabnix

Manish Lingadevaru Manish Lingadevaru is a Founder and Cheif Executive Officer at AetherMed, working the real time Medical project models on GenAI, Campus Ambassador at Pravega IISc, Student at Rajarajeswari College of Engineering. You can connect with him on LinkedIn (https://www.linkedin.com/in/manish-l-b3a002310)
Join our Discord Server
Index