Skip to main content

System requirements

RequirementDetails
Node.jsv18+ with npm (runs the TypeScript API server via tsx)
Python 3Required for the pdfplumber vision worker used in document parsing
npmBundled with Node.js; used to install dependencies and run scripts

External services

Quark depends on several managed services. All services listed below offer free tiers — no credit card is required to sign up.
ServicePurpose
Groq / xAILLM inference
VoyageAIText embeddings
Unstructured.ioDocument parsing and chunking
QdrantVector database
Mem0Conversation memory
UpstashServerless Redis
ElasticLakeS3-compatible object storage
SupabaseAuth and PostgreSQL database
You must create accounts and obtain API credentials for each service before starting the server. See the Environment variables page for the full list of required keys.

Setup

1

Clone the repository

git clone https://github.com/drona-gyawali/Quark.git
cd Quark
2

Make the setup script executable

chmod +x setup.sh
3

Run the setup script

The script copies .env.example to .env, creates a Python virtual environment, installs Python and Node.js dependencies, and applies Supabase database migrations.
./setup.sh
If psql is not installed, database migrations will be skipped. Install it with sudo apt install postgresql-client and re-run the script, or apply the SQL files in supabase/migrations/ manually.
4

Fill in your environment variables

Open the generated .env file and replace every placeholder value with your actual API keys and URLs.
# open in your preferred editor, e.g.:
nano .env
See Environment variables for a full reference of every variable.
5

Start the server

npm run dev
Use npm run dev to start the API server with live reload. Use npm run cli to run Quark’s interactive command-line interface instead.See Running the API server for production start instructions.

Build docs developers (and LLMs) love