QANATIX
Deployment

Self-Hosted

Deploy QANATIX on your own infrastructure with Docker Compose.

Self-Hosted Deployment

Run QANATIX on your own infrastructure. Full control, air-gapped support, data never leaves your network.

Prerequisites

  • Docker and Docker Compose v2
  • 4 GB RAM minimum (8 GB recommended)
  • GPU recommended for large datasets (see Embedding Model for hardware guidance)

Docker Compose

See Installation for the full docker-compose.yml.

Production checklist

Before going live:

  • Set strong passwords for Postgres and Redis
  • Set API_KEY_SALT to a random 32+ character string
  • Set CONNECTOR_ENCRYPTION_KEY for database connector credential encryption
  • Set DEPLOYMENT_MODE=self_hosted
  • Set up backup for Postgres volumes
  • Put a reverse proxy (nginx/Caddy) in front for TLS
  • Set CORS_ORIGINS to your domain(s)

Scaling

ComponentScaling strategy
APIHorizontal — run multiple qanatix-api containers behind a load balancer
WorkerHorizontal — run multiple qanatix-worker containers (SAQ distributes jobs)
PostgresVertical — single primary, add read replicas for search queries
RedisSingle instance is sufficient for most workloads
QdrantHorizontal — Qdrant supports distributed mode

Embedding

BGE-M3 runs locally — no API keys needed. It produces dense, sparse, and ColBERT vectors simultaneously for maximum search quality. CPU works fine for small-medium datasets; GPU recommended for >100K entities.

GPUVRAMThroughputCost
NVIDIA T416 GB~100 embeddings/secBudget option
NVIDIA L424 GB~300 embeddings/secBest value
NVIDIA A10G24 GB~300 embeddings/secCloud standard

Air-gapped

For classified environments with no internet:

  1. Pre-download the BGE-M3 model weights on an internet-connected machine
  2. Pre-pull all Docker images to an internal registry
  3. No outbound network required after setup

See Air-gapped for detailed setup.

See Configuration for all environment variables.

On this page