Product

Install in 15 minutes

Docker Compose on any Linux server. No Kubernetes, no Helm charts, no cloud marketplace lock-in.

Requirements#

ComponentRequirement
OSAny Linux with Docker (Ubuntu 22.04+ recommended)
DockerDocker Engine 24+ and Docker Compose v2
RAM4 GB minimum, 8 GB recommended
Disk20 GB (grows with indexed documents and embeddings)
NetworkOutbound HTTPS to data source APIs + LLM provider + license server
LLM API keyOpenAI, Azure OpenAI, Anthropic, or local Ollama instance

Quick-start (5 steps)#

1. Pull the images

docker pull ghcr.io/quantumitpartners/ai-enterprise-search-api:latest docker pull ghcr.io/quantumitpartners/ai-enterprise-search-worker:latest docker pull ghcr.io/quantumitpartners/ai-enterprise-search-frontend:latest

2. Create data directories

mkdir -p /opt/aisearch/data/postgres /opt/aisearch/config /opt/aisearch/logs

3. Download the compose file

curl -o docker-compose.yml <installer-url-provided-after-purchase>

4. Configure environment

cp .env.template .env # Edit .env: set DB_PASSWORD, REDIS_PASSWORD, JWT_SECRET_KEY, # ENCRYPTION_MASTER_KEY, LICENSE_SERVER_URL

5. Start

docker compose up -d
Tip
On first start, the setup wizard opens at your configured URL. Create your admin account and upload the license file we send after purchase. Then configure your LLM provider under Settings → AI Assistant.

What's in the box#

Docker Compose brings up 7 containers:

  • ✓FastAPI (async Python API server)
  • ✓Celery worker (crawling, indexing, embedding)
  • ✓Celery Beat (scheduled tasks — delta sync, alerts)
  • ✓PostgreSQL 16 + pgvector (documents, embeddings, ACLs)
  • ✓Redis (cache, task queue, rate limiting)
  • ✓Nginx (reverse proxy, SSL termination)
  • ✓Next.js frontend (React 18 + Tailwind)

All data persists under /opt/aisearch/ via bind mounts. You can back up, restore, and migrate by copying that directory.

Scale deployment#

For larger installations, AES supports an enterprise overlay that splits the single worker into dedicated containers for independent scaling:

  • ✓Crawl worker — dedicated to data source crawling
  • ✓Index worker — dedicated to text extraction + embedding
  • ✓Default worker — handles alerts, notifications, and other tasks
When to scale
The single-worker setup handles most deployments. Consider the scale overlay when you're indexing 100K+ documents across many data sources and want crawling and indexing to run independently without blocking each other.

SSL / HTTPS#

Option A: Reverse proxy (recommended)
Place AES behind your existing reverse proxy (nginx, Traefik, Caddy). The included nginx container can terminate SSL with your own certificates.
Option B: Internal only
For internal-only deployments, run on HTTP behind your corporate VPN or network firewall. Configure ALLOWED_HOSTS in your .env file.

Updates#

docker compose pull docker compose up -d

Migrations run automatically on container start via Alembic. Your data under/opt/aisearch/ is never touched by updates.

Note
Never run docker compose down -v in production — the -v flag deletes all volumes including your PostgreSQL data, embeddings, and license binding.

Ready to install?

Request installer access and we'll send you the Docker pull credentials and your license file within one business day.