This project sets up a local Mem0 REST API server using Docker Compose on Windows, along with a React frontend interface to interact with memories. It includes Neo4j for semantic memory/relationships and ChromaDB as a vector database.
- Windows 10+
- Docker Desktop for Windows (latest version)
- 8GB RAM minimum (16GB recommended)
- 10GB free disk space
The Docker Compose setup includes the following services:
- Neo4j - Graph database for semantic memory and relationships
- ChromaDB - Vector database for efficient similarity search
- Mem0 Server - REST API server for memory management
- React Frontend - User interface to view, search, and manage memories
-
Clone this repository:
git clone <repository-url> cd mem0-server
-
Start the Docker Compose services:
docker-compose up -d
-
Wait for all services to initialize (this may take a few minutes on first run)
-
Access the applications:
- React Frontend: http://localhost:3000
- Neo4j Browser: http://localhost:7474 (credentials: neo4j/password)
- Mem0 API: http://localhost:8080
- ChromaDB API: http://localhost:8000
To test that the Mem0 API is working correctly, you can use curl:
# Test retrieving memories
curl http://localhost:8080/memories
# Create a new memory
curl -X POST http://localhost:8080/memory \
-H "Content-Type: application/json" \
-d '{"text": "This is a test memory", "metadata": {"source": "manual", "confidence": 0.95}}'The React frontend provides an intuitive interface to:
- View Memories - Browse and search through stored memories
- Add Memories - Create new memories with text, metadata, and tags
- Visualize Relationships - See how memories relate to each other
- Search Content - Perform semantic searches across memories
To make changes to the React frontend:
-
Navigate to the frontend directory:
cd frontend -
Install dependencies:
npm install
-
Start the development server:
npm start
-
Make your changes - the app will automatically reload
To modify the Docker Compose configuration:
- Edit
docker-compose.ymlto change service settings - Update environment variables to match your needs
- Rebuild the services:
docker-compose down docker-compose up -d --build
-
Mem0 API not starting
- Check that Neo4j and ChromaDB are running
- Inspect logs:
docker-compose logs mem0-server
-
Neo4j connection errors
- Verify Neo4j credentials in the
docker-compose.yml - Check Neo4j logs:
docker-compose logs neo4j
- Verify Neo4j credentials in the
-
Frontend cannot connect to API
- Ensure the Mem0 API is running
- Check for CORS issues in the browser console
To completely reset all data:
docker-compose down -v
docker-compose up -d- Add authentication and user management
- Implement webhooks for external integrations
- Expand visualization options for memory relationships
- Add n8n workflow integration examples