Rosmarium Logo Rosmarium.

Getting Started

Rosmarium is a monorepo built on Turborepo and pnpm. The absolute fastest way to get started is by spinning up the shared infrastructure via Docker Compose and running the Node and Python services natively on your local machine.

⚡️ Prerequisites

Runtime
Node.js v22+
Package Mgr
pnpm v9+
AI Worker
Python v3.12+
Infrastructure
Docker Engine

[!TIP] Why Docker? We use Docker Compose strictly for the infrastructure (PostgreSQL with pgvector, Redis, and MinIO) to guarantee a reproducible, isolated environment without polluting your local machine. The actual core application runs natively for maximum developer velocity.


Installation

Follow these steps to bootstrap the platform on your local machine.

1

Clone the repository

git clone https://github.com/orchestrator-dev/rosmarium
cd rosmarium
2

Install dependencies

This will install packages for all apps and packages in the monorepo.

pnpm install
3

Spin up Infrastructure

Starts PostgreSQL, Redis, and MinIO locally via Docker.

pnpm infra:up
pnpm infra:init
4

Configure Environment & DB

Copy the env file, apply the Drizzle schema migrations, and seed the admin user.

cp .env.example .env
pnpm db:migrate
pnpm db:seed

Running the Services

Rosmarium consists of three core applications that run simultaneously during development. Open three terminal tabs and run the following:

API ServerPort 3000

The core Node.js TypeScript GraphQL / REST server.

pnpm —filter @orchestrator.dev/server dev
AI WorkerPort 8001

The Python FastAPI embedding & intelligence pipeline.

cd apps/rosmarium-ai-worker
uv run uvicorn rosmarium_ai_worker.main:app —app-dir src —port 8001 —reload
Admin UIPort 5173

The React Vite dashboard. Requires API server running.

pnpm —filter @orchestrator.dev/admin dev

Seeding the Demo Dataset

To immediately see Rosmarium’s AI features, Knowledge Graph, and Semantic Search in action, you can seed the demo dataset:

🪄
pnpm demo:seed

This command will automatically insert sample articles, trigger vector embedding generation in the AI Worker, and run initial graph analytics so you have a fully populated, intelligent repository to explore.