Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

MemOS Helm Chart

MemOS - AI Memory Operating System for LLM and Agent systems.

Prerequisites

  • Kubernetes 1.20+
  • Helm 3.0+
  • PV provisioner support in the underlying infrastructure

Components

Component Description Port
memos-api Main API service 8000
neo4j Graph database 7474 (HTTP), 7687 (Bolt)
qdrant Vector database 6333 (HTTP), 6334 (gRPC)

Quick Start

1. Build Docker Image

# From repo root
docker build -t memos:2.0.9 .

2. Push to Registry

docker tag memos:2.0.9 your-registry/memos:2.0.9
docker push your-registry/memos:2.0.9

3. Configure Values

cp deploy/helm/values-example.yaml my-values.yaml

# Edit my-values.yaml with your settings:
# - OPENAI_API_KEY
# - MEMRADER_API_KEY
# - image.repository (your registry)

4. Install

helm install memos deploy/helm -f my-values.yaml -n memos --create-namespace

Configuration

Required Settings

memos:
  image:
    repository: your-registry/memos
    tag: "2.0.9"
  env:
    OPENAI_API_KEY: "sk-your-key"
    MEMRADER_API_KEY: "sk-your-key"

Enable Ingress

ingress:
  enabled: true
  className: nginx
  hosts:
    - host: memos.yourdomain.com
      paths:
        - path: /
          pathType: Prefix

Use External Neo4j/Qdrant

neo4j:
  enabled: false

qdrant:
  enabled: false

memos:
  env:
    NEO4J_URI: "bolt://external-neo4j:7687"
    NEO4J_USER: "neo4j"
    NEO4J_PASSWORD: "password"
    QDRANT_HOST: "external-qdrant"
    QDRANT_PORT: "6333"

Values Reference

Key Default Description
memos.replicaCount 1 API replicas
memos.image.repository memos/memos Image repository
memos.image.tag 2.0.9 Image tag
memos.service.type ClusterIP Service type
memos.service.port 8000 Service port
neo4j.enabled true Enable Neo4j
neo4j.auth.password memos123456 Neo4j password
neo4j.persistence.size 10Gi Neo4j data size
qdrant.enabled true Enable Qdrant
qdrant.persistence.size 10Gi Qdrant data size
ingress.enabled false Enable Ingress

API Endpoints

# Add memory
curl -X POST http://memos-api:8000/product/add \
  -H "Content-Type: application/json" \
  -d '{
    "user_id": "test-user",
    "mem_cube_id": "test-cube",
    "messages": [{"role": "user", "content": "I like strawberry"}],
    "async_mode": "sync"
  }'

# Search memory
curl -X POST http://memos-api:8000/product/search \
  -H "Content-Type: application/json" \
  -d '{
    "query": "What do I like",
    "user_id": "test-user",
    "mem_cube_id": "test-cube"
  }'

Uninstall

helm uninstall memos -n memos
kubectl delete namespace memos

Troubleshooting

# Check logs
kubectl logs -n memos -l app.kubernetes.io/component=api

# Check Neo4j
kubectl exec -n memos -it deployment/memos-neo4j -- cypher-shell -u neo4j -p memos123456

# Check Qdrant
kubectl exec -n memos -it deployment/memos-qdrant -- curl localhost:6333