Skip to content

Installation

Looking to deploy to production? Skip to the Deployment Guide.

This guide will help you get Nous running locally for development and testing.

Before you begin, ensure you have the following tools installed:

ToolVersionPurpose
Node.js24.11.0+JavaScript runtime (we recommend nvm)
pnpmLatestJavaScript package manager
uvLatestPython package manager
DockerLatestContainer runtime for databases
Terminal window
git clone https://github.com/jwandekoken/nous.git
cd nous
pnpm install
Terminal window
cd apps/api
uv venv
uv sync
cd ../..
Terminal window
cp apps/api/.env.example apps/api/.env

Edit apps/api/.env with your configuration:

Terminal window
# Required for fact extraction and embeddings
GOOGLE_API_KEY=your-google-api-key

Nous requires two databases:

  • PostgreSQL + Apache AGE — Graph storage for entities and relationships
  • Qdrant — Vector storage for semantic search
Terminal window
docker compose up -d
Terminal window
cd apps/api
uv run alembic upgrade head
cd ../..
Terminal window
pnpm turbo dev

This starts both services:

  • API at http://localhost:8000
  • Web Dashboard at http://localhost:5173

Once everything is running, you can verify the installation:

1. Check the health endpoint:

Terminal window
curl http://localhost:8000/health

You should see: {"status":"healthy"}

2. View the services:

3. Next: Follow the Quick Start Guide to set up authentication and start using the API.

If you see port is already allocated, another service is using the port (commonly PostgreSQL on 5432). Either stop that service or modify the port mapping in docker-compose.yml (e.g., change "5432:5432" to "5433:5432").

  1. Check that containers are running: docker compose ps
  2. View database logs: docker compose logs db
  3. Verify your .env configuration matches the database credentials

Ensure you’re running pnpm turbo dev from the repository root. Also check if your system’s file watcher limit is reached (common on Linux).

Now that Nous is running locally, you can: