Infrastructure
Deployment Options
One codebase. Three deployment tiers. From a personal laptop to a horizontally-scaled enterprise cluster — no vendor lock-in, no cloud dependency.
Local
Zero infrastructure. Full power.
Run hRAG on any machine with Node.js. SQLite stores relational data. LanceDB runs locally. No cloud accounts, no configuration overhead. Deploy in under 5 minutes.
Prerequisites
Key Env Vars
HRAG_MASTER_PASSPHRASEJWT_SECRETDATABASE_URLSelf-Hosted
Production-grade on a single server.
One VPS running Garage S3-compatible object storage, Litestream for SQLite replication to S3, and LanceDB with S3-native vector storage. Stateless compute, durable data.
Prerequisites
Key Env Vars
HRAG_MASTER_PASSPHRASES3_ENDPOINTS3_ACCESS_KEYS3_SECRET_KEYLITESTREAM_*Enterprise
Horizontal scale. Full HA.
Multi-node cluster with primary election (HRAG_PRIMARY=true). PostgreSQL + pgvector (or Qdrant) for relational + vector data. BullMQ for distributed ingestion queues. Fully horizontally scalable.
Prerequisites
Key Env Vars
HRAG_PRIMARY=trueDATABASE_URL (pg)REDIS_URLS3_*Full Comparison
| Capability | Local | Self-Hosted | Enterprise |
|---|---|---|---|
| Database | SQLite | SQLite + Litestream | PostgreSQL |
| Vector Store | LanceDB (local) | LanceDB (S3) | pgvector / Qdrant |
| Object Storage | Local FS | Garage S3 | Garage / AWS S3 |
| Replication | — | Litestream | PostgreSQL + S3 |
| HA | ✗ | Partial | ✅ |
| Multi-node | ✗ | ✗ | ✅ |
| OCR Workers | Inline (Worker Thread) | Inline | BullMQ distributed |
| Ingestion Queue | — | — | BullMQ + Redis |
| Min RAM | 512 MB | 1 GB | 4 GB+ |
All tiers use the same SvelteKit/Node.js codebase. Database driver selected via DATABASE_URL prefix (sqlite:// vs postgresql://).
Upgrading between tiers?
All structural upgrade procedures — including relational schema migrations, vector store
re-indexing, and Litestream configuration — are documented in UPGRADE.md at the project root.