Prerequisites
Install the following before proceeding:| Dependency | Required | Install guide |
|---|---|---|
| Node.js | Yes | nodejs.org |
| pnpm (v9+) | Yes | pnpm.io |
| Redis | Yes | redis.io |
| PostgreSQL | Yes | Via Docker (see below) or installed directly |
| Docker | Optional | Required for the PostgreSQL container setup |
Set up the database
You need a PostgreSQL database initialized with the schema atapps/nuq-postgres/nuq.sql. The easiest approach is to use the Docker image inside apps/nuq-postgres.
With Docker running, build and start the container:
Configure environment variables
Copy the template to create your.env file in the apps/api/ directory:
apps/api/.env
Install dependencies
From theapps/api/ directory, install packages with pnpm:
Start the services
You need three terminal sessions running simultaneously: Redis, the API server, and a terminal for sending requests.Terminal 1 — Redis
Start the Redis server from anywhere in the project:Terminal 2 — API server
Navigate toapps/api/ and start the service:
If you plan to use the LLM extract feature, export your OpenAI key first:
export OPENAI_API_KEY=sk-...Terminal 3 — Send a test request
Verify the server is running with a health check:Hello, world!.
To test the crawl endpoint:
Alternative: Docker Compose
For a simpler setup, Docker Compose runs all services (Redis, API server, and workers) in a single command.- Make sure Docker and Docker Compose are installed.
- Copy
.env.exampleto.envin theapps/api/directory and configure as needed. - From the project root, run:

