System Requirements
Ragz runs comfortably on a single machine. What you need depends almost entirely on where you place the embeddings and rerank models — everything else in the stack is lightweight.
Prerequisites
| Requirement | Version | Notes |
|---|---|---|
| Docker | current | Runs Postgres, Qdrant, Redis, MinIO, LiteLLM, and (optionally) local model servers via Compose. |
| Python | 3.12 | Backend runtime, managed with uv. |
| Node.js | 20+ | Frontend build and dev server. |
| pnpm | current | Frontend package manager. |
RAM: it comes down to model placement
Everything in Ragz besides the model servers — API, worker, Postgres, Qdrant, Redis, MinIO — idles at roughly 1–1.5 GB combined. Your total RAM budget is driven almost entirely by whether embeddings and rerank run locally or against a cloud API.
| Setup | Local model servers | Host RAM |
|---|---|---|
| Cloud — API embeddings (e.g. OpenAI) + API rerank (e.g. Cohere) | none | 4–5 GB |
| Hybrid — one local model (embeddings or rerank) | one | 8–10 GB |
Fully local / air-gapped — local bge-m3 embeddings + local rerank | two | 12–16 GB |
Lowest footprint
If you don't need an air-gapped deployment, use cloud APIs for embeddings and rerank. It's the lowest-RAM setup, needs no GPU, and you can still run the generation LLM locally later if you want to.
The generation LLM sits outside this table entirely:
- Cloud API (recommended) — no local resources, no GPU required.
- Local LLM (Ollama/vLLM) — needs its own GPU, independent of the RAM budget above.
Disk
Budget 80–100 GB of SSD:
- ~25–30 GB fixed — container images and, if you run any models locally, their weights.
- The rest grows with your corpus — original documents, extracted text, parsed chunks, and vector embeddings all scale with how much you ingest.
vCPU
A few cores are enough for the API and Celery worker under normal load; ingestion (parsing, OCR, embedding) is the most CPU-intensive path and benefits from more cores if you ingest large batches of documents.
GPU
Only required if you run a local generation LLM. Ollama or vLLM need a GPU with 16 GB+ VRAM for reasonable throughput. Cloud-API generation, and both the cloud and hybrid model-placement setups above, need no GPU at all.
OCR downloads on first use
Scanned or image-only PDFs fall back to OCR automatically. The first OCR run
downloads roughly 90 MB of models to the worker host (~/.EasyOCR); disable
OCR entirely with RAGZ_OCR_ENABLED=false if that's not acceptable for your
environment.
Next steps
- Walk through the Getting Started quick start once you've picked a setup.
- Follow the Linux install guide for a production-style deployment.