Skip to content

Deploy

The charts/engram chart deploys the engram server and a Qdrant instance together.

Terminal window
helm install engram oci://ghcr.io/seanb4t/charts/engram \
--namespace agent-memory \
--create-namespace \
--set memory.litellm.url=http://litellm.litellm.svc.cluster.local:4000 \
--set memory.oidc.issuer=https://auth.example.com

The chart sets MEM_* environment variables from these Helm values. Supply the cluster-specific ones via --set or a valuesObject:

Helm valueMEM_* variable setDescription
memory.listenAddrMEM_LISTEN_ADDRListen address (default :8080)
memory.mcpPathMEM_MCP_PATHMCP transport path (empty → /mcp; / restores the legacy root catch-all)
memory.litellm.urlMEM_LITELLM_URLEmbeddings endpoint URL (cluster must supply)
memory.embed.modelMEM_EMBED_MODELEmbed model name (default ollama/bge-m3)
memory.embed.dimMEM_EMBED_DIMVector dimension (default 1024)
memory.qdrant.collectionMEM_QDRANT_COLLECTIONQdrant collection name (default memory)
memory.oidc.issuerMEM_OIDC_ISSUEROIDC issuer URL; setting it enables bearer-token enforcement
memory.oidc.audienceMEM_OIDC_AUDIENCEExpected OIDC audience (optional)
memory.oidc.resourceMetadataMEM_OIDC_RESOURCE_METADATAWWW-Authenticate resource metadata URL (optional)

MEM_QDRANT_ADDR is set automatically by the chart to the in-cluster Qdrant service address and does not need a Helm value.

The MEM_LITELLM_KEY value comes from a Kubernetes Secret (memory.litellm.keySecret).

For the full environment variable reference, see Configure.

Terminal window
helm upgrade engram oci://ghcr.io/seanb4t/charts/engram \
--namespace agent-memory \
--reuse-values

For local or non-Kubernetes deployments, use the image from GHCR:

Terminal window
docker run -d \
--name engram \
-p 8080:8080 \
-e MEM_QDRANT_ADDR=host.docker.internal:6334 \
-e MEM_LITELLM_URL=http://host.docker.internal:4000 \
-e MEM_EMBED_MODEL=ollama/bge-m3 \
-e MEM_OIDC_ISSUER=https://auth.example.com \
ghcr.io/seanb4t/engram:latest

No volumes needed — all state lives in Qdrant. Run a separate Qdrant container (see Quickstart) and point MEM_QDRANT_ADDR at it.

The MCP endpoint is served at http://host:8080/mcp by default. Set MEM_MCP_PATH=/ to restore the pre-0.7 behavior where the transport answered at the bare root.