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.