explaingit

jsonbored/mem0-aio

15PythonAudience · ops devopsComplexity · 3/5ActiveSetup · moderate

TLDR

All-in-one Docker image that bundles Mem0 OpenMemory with Qdrant for self-hosted AI memory, with an Unraid Community Applications template for one-click installs.

Mindmap

mindmap
  root((mem0-aio))
    Inputs
      OpenAI key
      Ollama URL
      Embedding model name
    Outputs
      Memory dashboard
      MCP server
      Stored vectors
    Use Cases
      Self-host AI memory
      Run Mem0 on Unraid
      Local Ollama memory layer
    Tech Stack
      Docker
      Mem0
      Qdrant
      Python

Things people build with this

USE CASE 1

Install Mem0 OpenMemory on Unraid through the Community Applications template in one click.

USE CASE 2

Self-host an AI memory backend that any local Ollama agent can call.

USE CASE 3

Swap the bundled Qdrant for Chroma, Weaviate, Redis, pgvector, Milvus, or FAISS via the advanced template.

USE CASE 4

Expose the MCP server to other tools by publishing port 8765 and binding it to 0.0.0.0.

Tech stack

DockerMem0QdrantPythonOllama

Getting it running

Difficulty · moderate Time to first run · 30min

The MCP port 8765 is bound to localhost by design. External clients must explicitly publish the port and switch the bind address to 0.0.0.0.

No license terms are stated in the available content, so reuse terms are unclear.

In plain English

mem0-aio is a packaging project that bundles an open source AI memory layer called Mem0 (OpenMemory) into a single Docker container, with a template aimed at Unraid home server users. Mem0 is a service that lets AI agents and language models remember things across conversations, by storing notes in a vector database and retrieving them when relevant. This repo's job is to make the easiest possible self-hosted install on day one: the container already includes the Qdrant vector database and persistent local storage, plus the OpenMemory web dashboard on port 3000 and its API/MCP server on port 8765 inside the container. The README walks through a beginner install path for Unraid. You install the supplied Community Applications template, keep the default appdata folder, set either an OpenAI API key for the hosted quick start or an OLLAMA_BASE_URL pointing at your local Ollama server for a fully local setup, choose which LLM and embedding model to use, start the container, and open port 3000 in your browser. The wrapper auto-detects the embedding size needed by Qdrant for normal Ollama models. The API/MCP port is intentionally bound to localhost inside the container by default, so the memory API and the model credentials it holds are not accidentally exposed to the network. Direct clients that want to connect to port 8765 must explicitly publish the port and switch the bind address to 0.0.0.0, which the README presents as a deliberate security decision rather than a missing feature. For power users, the advanced template exposes the full upstream OpenMemory environment surface: alternative LLM providers like Anthropic, Groq, Together, DeepSeek, Azure OpenAI, and Bedrock-compatible providers, and alternative vector stores including Chroma, Weaviate, Redis, pgvector, Milvus, Elasticsearch, OpenSearch, and FAISS. Only one external vector backend can be active at a time. The repo also documents the release flow, publishes to Docker Hub, and has 15 stars.

Copy-paste prompts

Prompt 1
Install mem0-aio on my Unraid box, set OLLAMA_BASE_URL to my local Ollama server, and pick a sensible embedding model.
Prompt 2
Switch mem0-aio from the default Qdrant store to pgvector and migrate my existing memories.
Prompt 3
Securely expose the mem0-aio MCP server on port 8765 to my LAN with a reverse proxy and basic auth.
Prompt 4
Wire mem0-aio into a LangGraph agent so it stores user facts across sessions through the MCP interface.
Prompt 5
Diagnose why mem0-aio rejects my Ollama embedding model with a dimension mismatch in Qdrant.
Open on GitHub → Explain another repo

Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.