Skip to main content

Installation

Memorose runs as a Rust API server plus a separate dashboard UI.

Prerequisites

  • Rust toolchain
  • Node.js and pnpm for the dashboard
  • An LLM provider key for embeddings and consolidation
  • Optional: jq for command-line examples

Clone the repository

Environment setup

Copy the example environment file:
At minimum, set a provider key plus model names:
If you want to force the provider through env overrides, prefer:
Or:
To avoid the default dashboard password warning, also set:

Configuration

Create config.toml yourself using the current schema from crates/memorose-common/src/config.rs, or start from config.example.toml / config.toml.example and keep config.rs as the final source of truth. A minimal starting point is:
To enable internal model-based arbitration, add a reranker block:

Start the stack

Recommended local startup:
This starts backend nodes on 3000, 3001, and 3002 in local cluster mode, plus the dashboard UI on 3100. If you want a single local node:

Manual server startup

If you only want the API server:

Docker reranker configuration

The Docker image starts the API server on 3000 and the dashboard on 3100. Reranker mode is still configured by the same MEMOROSE__* environment variables:

Verify the installation

Check the root endpoint:
Expected response:

Dashboard

  • Dashboard UI: http://127.0.0.1:3100/dashboard
  • API redirect: http://127.0.0.1:3000/dashboard
  • Default login: admin / admin
On first login, the response may include must_change_password: true until you set a new password.
If you deploy the dashboard using your own docker-compose.yml or docker run, you must set DASHBOARD_API_ORIGIN on the dashboard container to point at the backend API, for example DASHBOARD_API_ORIGIN=http://memorose-node-0:3000. Otherwise login and proxied dashboard requests will fail with connect ECONNREFUSED 127.0.0.1:3000.