Requirements
Memind requires Java 21 for all Java runtime paths.
For model access, set at least:
OPENAI_BASE_URL, OPENAI_CHAT_MODEL, and OPENAI_EMBEDDING_MODEL are optional.
The chat and embedding model choices directly affect memory extraction, insight quality,
and retrieval quality.
Docker Compose
Use this path when you want the fastest local self-hosted Memind setup. Docker Compose starts:memind-server- Memind UI
- A persistent Docker volume for local SQLite and vector-store data
.env file in the repository root. docker-compose.yml reads these values
automatically:
OPENAI_BASE_URL, OPENAI_CHAT_MODEL, and OPENAI_EMBEDDING_MODEL are optional.
The chat and embedding model choices directly affect memory extraction, insight quality,
and retrieval quality. If your embedding provider uses a different endpoint or key from chat,
also set EMBEDDING_BASE_URL and EMBEDDING_API_KEY.
Start the stack:
The UI container proxies
/open/* and /admin/* to memind-server, so the browser can use
Memind UI as a same-origin local admin console.
Common commands:
memind-server stores SQLite data and the fallback file vector store in the
named Docker volume memind-data, mounted at /app/data inside the container.
Docker Compose supports these common environment variables:
For deeper server configuration, see Server. For UI usage, see Admin UI.
Java Library
Use this path when you want to embed Memind directly into a Java application. Import the Memind BOM first:Memory.builder().
The detailed Java SDK setup is covered in Java SDK. If you want to run a working example first, start with the Quickstart.
Source Build
Use this path when you want to build Memind from source, run examples, start the server locally, run Memind UI, or contribute to the project. Clone the repository:Run memind-server from source
Startmemind-server locally:
Run Memind UI from source
memind-ui is a standalone Vite React application. It is not bundled into memind-server.
Requirements:
- Node.js
^20.19.0 || ^22.12.0 || >=24.0.0 - pnpm
>=9.0.0 - Corepack is recommended
memind-server first, then start the UI:
You can also start the UI with local mock data:
memind-server has little or no data.

