Skip to main content
Docker is the recommended way to run Perplexica. The Docker image includes both Perplexica and SearxNG, making setup straightforward with a single command.

Quick start

Run Perplexica with the bundled SearxNG instance:
docker run -d -p 3000:3000 -v perplexica-data:/home/perplexica/data --name perplexica itzcrazykns1337/perplexica:latest
Once running, open your browser and navigate to http://localhost:3000 to configure your settings (API keys, models, etc.) in the setup screen.
The -v flag creates a persistent volume for your data and uploaded files. Your settings and search history will be preserved across container restarts.

Using your own SearxNG instance

If you already have SearxNG running, use the slim version of Perplexica:
docker run -d -p 3000:3000 -e SEARXNG_API_URL=http://your-searxng-url:8080 -v perplexica-data:/home/perplexica/data --name perplexica itzcrazykns1337/perplexica:slim-latest
Make sure your SearxNG instance has:
  • JSON format enabled in the settings
  • Wolfram Alpha search engine enabled
Replace http://your-searxng-url:8080 with your actual SearxNG URL, then configure your AI provider settings at http://localhost:3000.

Building from source

For more control over your deployment, you can build Perplexica from source:
1

Clone the repository

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

Build the Docker image

docker build -t perplexica .
3

Run the container

docker run -d -p 3000:3000 -v perplexica-data:/home/perplexica/data --name perplexica perplexica
4

Configure settings

Access Perplexica at http://localhost:3000 and configure your settings in the setup screen.
After the container is built, you can start Perplexica directly from Docker Desktop or your Docker management tool without opening a terminal.

Using Docker Compose

You can also use Docker Compose to manage your deployment:
docker-compose.yaml
services:
  perplexica:
    image: itzcrazykns1337/perplexica:latest
    ports:
      - '3000:3000'
    volumes:
      - data:/home/perplexica/data
    restart: unless-stopped

volumes:
  data:
    name: 'perplexica-data'
Run with:
docker compose up -d

Container configuration

Exposed ports

  • 3000: Perplexica web interface (Next.js application)
  • 8080: SearxNG API (only in full image, not slim)

Volume mounts

  • /home/perplexica/data: Stores application data, settings, and search history
  • /home/perplexica/uploads: Stores uploaded files (created automatically)

Environment variables

  • SEARXNG_API_URL: SearxNG API endpoint (default: http://localhost:8080)
    • Required for slim image when using external SearxNG
    • Automatically configured in the full image

Managing the container

docker start perplexica

Next steps

Updating Perplexica

Keep your installation up to date

Troubleshooting

Common issues and solutions

Build docs developers (and LLMs) love