mem0-aio

mem0-aio

Application Docker from JSONbored's Repository

Vue d'ensemble

Mem0 OpenMemory gives LLM apps a persistent memory layer with a web UI, MCP/API server, and pluggable vector backends.

All-In-One Unraid Edition
mem0-aio packages the OpenMemory UI, API, and embedded Qdrant into one Unraid-first container so beginners can get a working first boot without wiring a separate vector database.

Quick Install (Beginners)

  1. Install the template and leave the default appdata path in place.
  2. For the fastest hosted path, set [code]OPENAI_API_KEY[/code].
  3. For the normal local-LLM homelab path, set [code]OLLAMA_BASE_URL[/code] to your external Ollama root URL and set the Ollama chat/embed models you actually have pulled.
  4. Start the container and open the Web UI. The wrapper will auto-default to Ollama when [code]OLLAMA_BASE_URL[/code] is set and no explicit provider overrides are supplied.
  5. Leave the direct API/MCP port unpublished unless you intentionally need external MCP/API clients behind your own access controls. If you publish it, set [code]MEM0_API_HOST=0.0.0.0[/code] and protect that endpoint yourself.

Advanced View

  • Leave storage defaults in place for the bundled SQLite + Qdrant path.
  • If you use external vector storage, configure exactly one backend. The wrapper rejects competing selectors such as Redis plus PGVector plus external Qdrant because OpenMemory can only initialize one vector store at a time.
  • Provider overrides are available for native Ollama, OpenAI-compatible endpoints, hosted model providers, and supported external vector stores, but only set the fields your chosen path needs.

Important Notes

  • This wrapper is meant to simplify first boot on Unraid, not remove the real complexity of model/provider credentials and external-service tuning.
  • Actual memory generation still requires a valid LLM/embedder configuration. Leaving [code]OPENAI_API_KEY[/code] blank is fine if you are using Ollama, but you still need to provide a reachable Ollama endpoint and valid model names.
  • Native Ollama uses the root API URL such as [code]http://host.docker.internal:11434[/code], not an OpenAI-compatible [code]/v1[/code] path. If your reverse proxy adds auth and only exposes an OpenAI-style [code]/v1[/code] endpoint, use the advanced OpenAI-compatible base URL fields instead of the native Ollama provider path.
  • The embedded Qdrant service is intentionally bundled for the beginner AIO path; it is skipped only when one valid external vector backend is configured.

Exigences

OpenMemory still needs a valid LLM/embedder setup for actual memory generation. For the easiest first boot, keep bundled storage defaults and either set OPENAI_API_KEY or point the app at a reachable native Ollama endpoint with chat and embedding models you already have pulled. External vector storage is advanced: configure exactly one backend.

Arguments d'exécution

Interface utilisateur Web
http://[IP]:[PORT:3000]
Réseau
bridge
Coquille
sh
Privilégié
false

Configuration du modèle

Web UI PortPorttcp

Main OpenMemory web interface port.

Cible
3000
Défaut
3000
Valeur
3000
API / MCP PortPorttcp

Optional direct API and MCP host port. Leave blank for normal UI-only access. If you publish this port, also set [Security] API Bind Address (MEM0_API_HOST) to 0.0.0.0 and protect access at your network or reverse proxy.

Cible
8765
AppData - OpenMemory StoragePathrw

Persistent storage for the SQLite database, embedded Qdrant data, and AIO state.

Cible
/mem0/storage
Défaut
/mnt/user/appdata/mem0-aio/storage
Valeur
/mnt/user/appdata/mem0-aio/storage
OpenAI API KeyVariable

Optional hosted-provider quick start. Leave blank if you plan to use Ollama instead.

Cible
OPENAI_API_KEY
Default User IDVariable

Default user namespace used by the API and MCP server.

Cible
USER
Défaut
default_user
Valeur
default_user
Ollama Base URLVariable

Native external Ollama root URL. Example: http://host.docker.internal:11434 or http://192.168.1.10:11434. When set, the wrapper auto-defaults to Ollama if no explicit provider override is supplied.

Cible
OLLAMA_BASE_URL
Ollama Chat ModelVariable

Optional Ollama chat model override. Set this to a model you already have pulled on your Ollama server. Example: llama3.1:latest or mistral:7b

Cible
LLM_MODEL
Ollama Embed ModelVariable

Optional Ollama embedding model override. Set this to a model you already have pulled on your Ollama server. Example: nomic-embed-text

Cible
EMBEDDER_MODEL
[Security] API Bind Address (MEM0_API_HOST)Variable

Bind address for the internal API/MCP server. Keep 127.0.0.1 for UI-only access; use 0.0.0.0 only when deliberately publishing the API/MCP port behind your own LAN, VPN, firewall, or reverse-proxy controls.

Cible
MEM0_API_HOST
Défaut
127.0.0.1
Valeur
127.0.0.1
[UI] Browser API URLVariable

Default same-origin proxy path for the web UI. Leave this alone unless you intentionally want the browser to call a different API URL directly.

Cible
NEXT_PUBLIC_API_URL
Défaut
/openmemory-api
Valeur
/openmemory-api
[UI] Public User IDVariable

Default user ID shown in the browser client. Usually keep this aligned with USER.

Cible
NEXT_PUBLIC_USER_ID
Défaut
default_user
Valeur
default_user
[LLM] ProviderVariable

Advanced provider override. Leave this on auto for the normal wrapper behavior: OpenAI when no Ollama URL is set, or Ollama when OLLAMA_BASE_URL is set.

Cible
LLM_PROVIDER
Défaut
auto|openai|anthropic|azure_openai|ollama|together|groq|litellm|mistralai|google_ai|aws_bedrock|gemini|deepseek|xai|lmstudio|langchain
Valeur
auto
[LLM] API KeyVariable

Optional provider-specific API key if you are not using OPENAI_API_KEY or if you want the LLM to use a different secret.

Cible
LLM_API_KEY
[LLM] Base URLVariable

Optional custom LLM API base URL for OpenAI-compatible or provider-specific endpoints. Use this for auth-protected OpenAI-style proxies, usually ending in /v1.

Cible
LLM_BASE_URL
[LLM] Ollama Host OverrideVariable

Optional host override used by upstream Docker Ollama auto-detection. Example: host.docker.internal

Cible
OLLAMA_HOST
[Embedder] ProviderVariable

Advanced embedder provider override. Leave this on auto for the normal wrapper behavior so the embedder follows the matching OpenAI or Ollama path.

Cible
EMBEDDER_PROVIDER
Défaut
auto|openai|azure_openai|ollama|huggingface|vertexai|gemini|lmstudio|together|langchain|aws_bedrock
Valeur
auto
[Embedder] API KeyVariable

Optional provider-specific embedder API key.

Cible
EMBEDDER_API_KEY
[Embedder] Base URLVariable

Optional custom embedder API base URL. Use this for OpenAI-compatible or separate embedding endpoints, including auth-protected proxies that expose /v1.

Cible
EMBEDDER_BASE_URL
[Embedder] Dimensions OverrideVariable

Optional explicit embedding dimension override for vector-store setup. Usually leave blank and let the wrapper auto-detect it, but set this if your embedder is custom or auto-detection cannot determine the correct size.

Cible
EMBEDDER_DIMENSIONS
[Storage] DATABASE_URLVariable

Advanced override for the API database connection. Leave the default SQLite path for normal AIO usage.

Cible
DATABASE_URL
Défaut
sqlite:////mem0/storage/openmemory.db
Valeur
sqlite:////mem0/storage/openmemory.db
[Legacy] API_KEY AliasVariable

Legacy upstream alias used by older OpenMemory examples that referenced env:API_KEY. Leave blank unless you intentionally depend on that older pattern.

Cible
API_KEY
[Vector Store:Qdrant] URLVariable

External Qdrant URL, for example http://qdrant:6333 or https://qdrant.example.com. Use this instead of external QDRANT_HOST when auth or HTTPS is involved. Do not combine with Redis, PGVector, or other vector backends.

Cible
QDRANT_URL
[Vector Store:Qdrant] HostVariable

Bundled Qdrant host by default. Leave as 127.0.0.1 for the AIO path; set to an external host only when Qdrant is the one external vector backend you want.

Cible
QDRANT_HOST
Défaut
127.0.0.1
Valeur
127.0.0.1
[Vector Store:Qdrant] PortVariable

Qdrant port for the bundled or selected external Qdrant backend.

Cible
QDRANT_PORT
Défaut
6333
Valeur
6333
[Vector Store:Qdrant] API KeyVariable

API key for authenticated external Qdrant. Requires QDRANT_URL or an external QDRANT_HOST; the bundled Qdrant service is not started with API-key auth.

Cible
QDRANT_API_KEY
[Vector Store:Qdrant] Disable TelemetryVariable

Controls Qdrant usage-statistics reporting for the bundled embedded vector store. Default is true so the AIO image stays privacy-first by default.

Cible
QDRANT__TELEMETRY_DISABLED
Défaut
true|false
Valeur
true
[Vector Store:Chroma] HostVariable

External Chroma host. Requires CHROMA_PORT and must be the only external vector backend configured.

Cible
CHROMA_HOST
[Vector Store:Chroma] PortVariable

External Chroma port. Requires CHROMA_HOST.

Cible
CHROMA_PORT
[Vector Store:Weaviate] Cluster URLVariable

External Weaviate cluster URL. Use this or WEAVIATE_HOST/WEAVIATE_PORT, and do not combine with another vector backend.

Cible
WEAVIATE_CLUSTER_URL
[Vector Store:Weaviate] HostVariable

External Weaviate host. Requires WEAVIATE_PORT unless WEAVIATE_CLUSTER_URL is set.

Cible
WEAVIATE_HOST
[Vector Store:Weaviate] PortVariable

External Weaviate port. Requires WEAVIATE_HOST unless WEAVIATE_CLUSTER_URL is set.

Cible
WEAVIATE_PORT
[Vector Store:Redis] URLVariable

Redis-backed vector-store URL. Example: redis://:password@host:6379/0. This selects Redis as the vector backend; do not combine with PGVector or Qdrant.

Cible
REDIS_URL
[Vector Store:PGVector] HostVariable

External PostgreSQL/pgvector host. Requires PG_PORT and must be the only external vector backend configured.

Cible
PG_HOST
[Vector Store:PGVector] PortVariable

External PostgreSQL/pgvector port. Required when any PG_* vector-store setting is used.

Cible
PG_PORT
[Vector Store:PGVector] DatabaseVariable

External PostgreSQL database name for pgvector. Defaults to mem0 when PGVector is selected and this is blank.

Cible
PG_DB
[Vector Store:PGVector] UserVariable

External PostgreSQL username for pgvector. Defaults to mem0 when PGVector is selected and this is blank.

Cible
PG_USER
[Vector Store:PGVector] PasswordVariable

External PostgreSQL password for pgvector. Defaults to mem0 when PGVector is selected and this is blank.

Cible
PG_PASSWORD
[Vector Store:Milvus] HostVariable

Optional external Milvus host.

Cible
MILVUS_HOST
[Vector Store:Milvus] PortVariable

Optional external Milvus port.

Cible
MILVUS_PORT
[Vector Store:Milvus] TokenVariable

Optional Milvus token for authenticated deployments.

Cible
MILVUS_TOKEN
[Vector Store:Milvus] Database NameVariable

Optional Milvus database name.

Cible
MILVUS_DB_NAME
[Vector Store:Elasticsearch] HostVariable

Optional external Elasticsearch host.

Cible
ELASTICSEARCH_HOST
[Vector Store:Elasticsearch] PortVariable

Optional external Elasticsearch port.

Cible
ELASTICSEARCH_PORT
[Vector Store:Elasticsearch] UserVariable

Optional Elasticsearch username.

Cible
ELASTICSEARCH_USER
[Vector Store:Elasticsearch] PasswordVariable

Optional Elasticsearch password.

Cible
ELASTICSEARCH_PASSWORD
[Vector Store:Elasticsearch] Use SSLVariable

Whether the Elasticsearch HTTP endpoint uses HTTPS. Default is true because modern Elasticsearch containers usually expose HTTPS.

Cible
ELASTICSEARCH_USE_SSL
Défaut
true|false
Valeur
true
[Vector Store:Elasticsearch] Verify CertsVariable

Whether to verify Elasticsearch TLS certificates. Keep true for external HTTPS backends; set false only for a trusted self-signed endpoint on a private network.

Cible
ELASTICSEARCH_VERIFY_CERTS
Défaut
true|false
Valeur
true
[Vector Store:OpenSearch] HostVariable

Optional external OpenSearch host.

Cible
OPENSEARCH_HOST
[Vector Store:OpenSearch] PortVariable

Optional external OpenSearch port.

Cible
OPENSEARCH_PORT
[Vector Store:OpenSearch] UserVariable

Optional OpenSearch username.

Cible
OPENSEARCH_USER
[Vector Store:OpenSearch] PasswordVariable

Optional OpenSearch password.

Cible
OPENSEARCH_PASSWORD
[Vector Store:OpenSearch] Use SSLVariable

Whether the OpenSearch HTTP endpoint uses HTTPS. Default is true because modern OpenSearch containers usually expose HTTPS.

Cible
OPENSEARCH_USE_SSL
Défaut
true|false
Valeur
true
[Vector Store:OpenSearch] Verify CertsVariable

Whether to verify OpenSearch TLS certificates. Keep true for external HTTPS backends; set false only for a trusted self-signed endpoint on a private network.

Cible
OPENSEARCH_VERIFY_CERTS
Défaut
true|false
Valeur
true
[Vector Store:FAISS] PathVariable

Optional FAISS storage path inside the container or a mounted host path.

Cible
FAISS_PATH
[Backup Export] User ID FilterVariable

Optional one-shot filter for the bundled upstream export helper script. Only set this if you intentionally run the export tooling inside the container.

Cible
EXPORT_USER_ID
[Backup Export] App ID FilterVariable

Optional one-shot filter for the bundled upstream export helper script.

Cible
EXPORT_APP_ID
[Backup Export] From Date (epoch)Variable

Optional one-shot export filter. Epoch timestamp in seconds.

Cible
EXPORT_FROM_DATE
[Backup Export] To Date (epoch)Variable

Optional one-shot export filter. Epoch timestamp in seconds.

Cible
EXPORT_TO_DATE

Télécharger les statistiques

6,591
Total des téléchargements

Détails

Référentiel
jsonbored/mem0-aio:latest
Dernière mise à jour2026-05-28
Première vue2026-04-17

Exécutez mem0-aio sur Unraid.

mem0-aio est listé dans Community Apps pour Unraid OS. Explorez Unraid pour créer un serveur domestique flexible, un NAS ou un laboratoire domestique.