Getting Started
Installation
Set up QANATIX — EU Cloud or self-hosted on your infra.
Installation
QANATIX runs two ways. Same engine, same API, same code.
EU Cloud (managed)
Sign up at qanatix.com and get an API key. No infrastructure to manage.
| Data residency | Frankfurt + Amsterdam |
| Uptime SLA | 99.9% |
| Compliance | GDPR native, ISO 27001 |
| Setup time | < 5 minutes |
Your base URL: https://api.qanatix.com
Self-hosted (Docker Compose)
Run QANATIX on your own infrastructure. Full control, air-gapped support.
Prerequisites
- Docker and Docker Compose
- 4 GB RAM minimum
- GPU recommended for large datasets (see Embedding Model)
Setup
Create a docker-compose.yml:
services:
qanatix-api:
image: ghcr.io/softure/qanatix:latest
ports: ["8000:8000"]
environment:
DATABASE_URL: postgresql+asyncpg://qanatix:secret@postgres:5432/qanatix
REDIS_URL: redis://redis:6379
QDRANT_URL: http://qdrant:6333
EMBEDDING_MODEL: BAAI/bge-m3
EMBEDDING_DIMENSIONS: "1024"
API_KEY_SALT: your-random-salt-here
DEPLOYMENT_MODE: self_hosted
depends_on: [postgres, redis, qdrant]
qanatix-worker:
image: ghcr.io/softure/qanatix:latest
command: ["python", "-m", "qanatix.worker"]
environment:
DATABASE_URL: postgresql+asyncpg://qanatix:secret@postgres:5432/qanatix
REDIS_URL: redis://redis:6379
QDRANT_URL: http://qdrant:6333
EMBEDDING_MODEL: BAAI/bge-m3
EMBEDDING_DIMENSIONS: "1024"
depends_on: [postgres, redis, qdrant]
postgres:
image: postgres:17
environment:
POSTGRES_USER: qanatix
POSTGRES_PASSWORD: secret
POSTGRES_DB: qanatix
volumes: ["pgdata:/var/lib/postgresql/data"]
redis:
image: redis:7-alpine
volumes: ["redisdata:/data"]
qdrant:
image: qdrant/qdrant:latest
volumes: ["qdrantdata:/qdrant/storage"]
volumes:
pgdata:
redisdata:
qdrantdata:Start everything:
docker compose up -dRun database migrations:
docker compose exec qanatix-api alembic upgrade headVerify:
curl http://localhost:8000/api/v1/health
# {"status": "ok", "version": "0.1.0"}Your base URL: http://localhost:8000
Next steps
- Authentication — generate your first API key
- Configuration — all environment variables
- Air-gapped — classified environment setup