Guide

Self-Hosting UnSearch: Complete Docker Guide

Deploy your own UnSearch instance with Docker in under 5 minutes. Full control over your search infrastructure, your data stays on your servers.

Why Self-Host?

  • **Full Control** — Your queries never leave your infrastructure
  • **No Rate Limits** — Scale as much as your hardware allows
  • **Cost Savings** — Pay only for compute, not per-query
  • **Compliance** — Meet data residency requirements

Quick Start

Run UnSearch with a single command:

docker run -d -p 8000:8000 unsearch/unsearch

That's it. Your instance is now running at http://localhost:8000.

Docker Compose Setup

For production deployments, use Docker Compose to run UnSearch alongside SearXNG and a Postgres database:

version: "3.8" services: unsearch: image: unsearch/unsearch ports: - "8000:8000" environment: - DATABASE_URL=postgresql://user:pass@db:5432/unsearch - SEARXNG_URL=http://searxng:8080 searxng: image: searxng/searxng ports: - "8080:8080" db: image: postgres:16 environment: - POSTGRES_DB=unsearch

Configuration

Customize your instance with environment variables for search engines, rate limiting, authentication, and more. See the full configuration reference in our docs.

Monitoring

UnSearch exposes Prometheus metrics at /metrics for monitoring query volume, latency, and error rates.