Skip to main content
Memind Open Source can be used in several ways depending on how you want to run memory in your application. Use this page to choose the right setup path:

Requirements

Memind requires Java 21 for all Java runtime paths. For model access, set at least:
Optional OpenAI-compatible settings:
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
Clone the repository:
Create a local .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:
After the images are built and the containers start: 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:
By default, 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:
Memind UI currently has no login or authorization flow. Keep it on localhost and do not expose the UI or proxied Memind server endpoints to public networks.
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:
Then add the core runtime, Spring AI integration, and one storage plugin. For a simple SQLite setup:
For MySQL or PostgreSQL, replace the SQLite plugin with one of:
After adding dependencies, assemble the runtime with 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:
Build the Java modules:
Run the maintained Java quickstart example:

Run memind-server from source

Start memind-server locally:
The server listens on the configured server port. Check health with your server base URL:

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
Start memind-server first, then start the UI:
Open the Vite URL shown in the terminal. During development, Memind UI proxies same-origin API requests to the local server: You can also start the UI with local mock data:
Mock mode is frontend-only. It is useful when a real memind-server has little or no data.
Memind UI currently has no login or authorization flow. Keep it on localhost and do not expose the dev server, built frontend, or proxied Memind server endpoints to public networks.

Build Memind UI

To build the frontend bundle:
To preview the built UI locally: