Overview
External dependency requirements and Helm values for self-hosted LlamaCloud: supported versions, sizing, and configuration examples for Postgres, MongoDB, Redis, RabbitMQ, and Temporal.
Self-Hosting Documentation Access
This section requires a password to access. Interested in self-hosting? Contact sales to learn more.
LlamaCloud uses a few external dependencies — Postgres, Redis, and Temporal are always required; MongoDB and RabbitMQ are required for the full feature surface but can be omitted with the store-less minimal profile (see below).
Requirements
Section titled “Requirements”We officially support the following versions of the dependencies:
- Postgres
- Minimum Version
>=15.x - Admin Access to the database. LlamaCloud will read/write and apply migrations.
- We recommend
1 - 2 vCPUsand1 - 2 GBi RAMas a starting point for the database. As your usage grows, you can scale the database accordingly. - When Postgres is also the Index vector-store target (the minimal profile’s default), the server must have the pgvector extension installed — LlamaCloud runs
CREATE EXTENSION IF NOT EXISTS vectoron first index export. See Index V2 Configuration. - Recommended Managed Services:
- Minimum Version
- MongoDB — optional (see minimal profile)
- Minimum Version
>=7.x - We recommend
1 - 2 vCPUsand1 - 2 GBi RAMas a starting point for the database. As your usage grows, you can scale the database accordingly. - Recommended Managed Services:
- Minimum Version
- RabbitMQ — optional (see minimal profile)
- Minimum Version
>=3.11.x - We recommend
200 - 500m vCPUsand500Mi - 2GBi RAMas a starting point for the database. As your usage grows, you can scale the database accordingly. - Recommended Managed Services:
- Minimum Version
- Redis
- Minimum Version
>=7.x - We recommend
200 - 500m vCPUsand500Mi - 2GBi RAMas a starting point for the database. As your usage grows, you can scale the database accordingly. - Recommended Managed Services:
- Minimum Version
- Temporal
Store-less deployments (minimal profile)
Section titled “Store-less deployments (minimal profile)”MongoDB and RabbitMQ can be omitted entirely by setting mongodb.enabled: false and rabbitmq.enabled: false in your Helm values — the chart then injects MONGO_DISABLED / AMQP_DISABLED, renders no store secrets, and skips the AMQP jobs-worker Deployment. The chart ships a preset overlay for this shape:
helm install llamacloud . -f my-values.yaml -f examples/profiles/minimal.yamlFeature surface under the minimal profile:
- Works end to end (Temporal + PostgreSQL + Redis): Parse, Extract, and Index — directory sync, export, retrieval, and chat against the
postgres(pgvector) index target. - Returns cause-coded 4xx errors instead of accepting work it cannot run: v1 parse, pipelines (the legacy pipeline API surface), retrieval over pipeline documents, and the
mongodbindex export destination.
The minimal preset pins the default index destination to postgres; the vector-store connection inherits your inline postgresql.* values automatically (see Index V2 Configuration for details and the pgvector requirement).
External Dependency Configuration
Section titled “External Dependency Configuration”To connect your LlamaCloud deployment to an external dependency, configure the necessary sections in your values.yaml file.
postgresql: host: "postgresql" port: "5432" database: "llamacloud" username: "llamacloud" password: "llamacloud"
mongodb: host: "mongodb" port: "27017" username: "root" password: "password"
rabbitmq: scheme: "amqp" host: "rabbitmq" port: "5672" username: "guest" password: "guest"
redis: scheme: "redis" host: "redis-master" port: "6379" db: 0
# Deploy Temporal as a subchart (host/port auto-configured)temporal: deploy: true
# Temporal subchart configurationtemporal-subchart: server: config: persistence: default: sql: driver: postgres12 host: <postgresql-host> port: 5432 database: temporal user: <username> password: <password> visibility: sql: driver: postgres12 host: <postgresql-host> port: 5432 database: temporal_visibility user: <username> password: <password>postgresql: host: "postgresql" port: "5432" database: "llamacloud" username: "llamacloud" password: "llamacloud"
mongodb: host: "mongodb" port: "27017" username: "root" password: "password"
rabbitmq: scheme: "amqp" host: "rabbitmq" port: "5672" username: "guest" password: "guest"
redis: scheme: "redis" host: "redis-master" port: "6379" db: 0
# Use an existing external Temporal deploymenttemporal: deploy: false host: temporal-frontend port: 7233Example Postgresql Configuration
Section titled “Example Postgresql Configuration”Example Postgresql installation:
helm upgrade --install postgresql \ oci://registry-1.docker.io/bitnamicharts/postgresql \ -f postgresql.yaml --wait --timeout 10mimage: registry: docker.io repository: bitnamilegacy/postgresql
auth: enabled: true database: llamacloud username: llamacloud password: llamacloud
## Ref: https://github.com/bitnami/charts/blob/main/bitnami/postgresql/values.yaml#L481primary: resources: requests: cpu: 250m memory: 128Mi limits: cpu: 250m memory: 256Mi
global: security: allowInsecureImages: true
resourcesPreset: microExample MongoDB Configuration
Section titled “Example MongoDB Configuration”Example MongoDB installation:
helm upgrade --install \ mongodb oci://registry-1.docker.io/bitnamicharts/mongodb \ -f mongodb.yaml --wait --timeout 10mimage: registry: ghcr.io repository: xavidop/mongodb tag: '7.0'
auth: enabled: true rootUser: root rootPassword: password
global: security: allowInsecureImages: true
resourcesPreset: microExample Redis Configuration
Section titled “Example Redis Configuration”Example Redis installation:
helm upgrade --install redis \ oci://registry-1.docker.io/bitnamicharts/redis \ -f redis.yaml --wait --timeout 10mimage: registry: docker.io repository: bitnamilegacy/redis
auth: enabled: false #password: "password"
tls: enabled: false
architecture: standalone
global: security: allowInsecureImages: true
resourcesPreset: microExample RabbitMQ Configuration
Section titled “Example RabbitMQ Configuration”Example RabbitMQ installation:
helm upgrade --install rabbitmq \ oci://registry-1.docker.io/bitnamicharts/rabbitmq \ -f rabbitmq.yaml --wait --timeout 10mimage: registry: docker.io repository: bitnamilegacy/rabbitmq digest: sha256:8a36cf44a55be2ae25cafa0376b89041412c50bbcab9fa0109713d60b2ec06fb
global: security: allowInsecureImages: true
auth: username: guest password: guest erlangCookie: secretcookie
resourcesPreset: microExample Temporal Configuration
Section titled “Example Temporal Configuration”LlamaCloud supports two approaches for deploying Temporal:
Option 1: Deploy Temporal as a Subchart (Recommended)
Section titled “Option 1: Deploy Temporal as a Subchart (Recommended)”The simplest way to deploy Temporal is as a subchart within LlamaCloud. This approach automatically configures the Temporal host and port for LlamaCloud services.
In your values.yaml, set temporal.deploy: true and configure the temporal-subchart section:
# Deploy Temporal as a subcharttemporal: deploy: true
# Temporal subchart configurationtemporal-subchart: serviceAccount: create: true name: temporal-server
web: additionalEnv: - name: TEMPORAL_CSRF_COOKIE_INSECURE value: "true" service: port: 80
server: config: persistence: default: driver: "sql" sql: driver: postgres12 host: <postgresql-host> port: 5432 database: temporal user: <username> password: <password> maxConns: 20 maxIdleConns: 20 maxConnLifetime: "1h"
visibility: driver: "sql" sql: driver: postgres12 host: <postgresql-host> port: 5432 database: temporal_visibility user: <username> password: <password> maxConns: 20 maxIdleConns: 20 maxConnLifetime: "1h"
cassandra: enabled: false mysql: enabled: false postgresql: enabled: false prometheus: enabled: false grafana: enabled: false elasticsearch: enabled: false
schema: createDatabase: enabled: true setup: enabled: true update: enabled: trueOption 2: Use an External Temporal Deployment
Section titled “Option 2: Use an External Temporal Deployment”If you already have a Temporal deployment or prefer to manage Temporal separately, you can connect LlamaCloud to an external Temporal instance.
First, install Temporal separately:
helm install --repo https://go.temporal.io/helm-charts \ temporal temporal -f temporal.yamlserviceAccount: create: true name: temporal-server
web: additionalEnv: - name: TEMPORAL_CSRF_COOKIE_INSECURE value: "true" service: port: 80
server: config: namespaces: create: true persistence: default: driver: "sql" sql: driver: postgres12 host: <hostname> port: 5432 database: temporal user: <username> password: <password> maxConns: 20 maxIdleConns: 20 maxConnLifetime: "1h"
visibility: driver: "sql" sql: driver: postgres12 host: <hostname> port: 5432 database: temporal_visibility user: <username> password: <password> maxConns: 20 maxIdleConns: 20 maxConnLifetime: "1h"
cassandra: enabled: falsemysql: enabled: falsepostgresql: enabled: falseprometheus: enabled: falsegrafana: enabled: falseelasticsearch: enabled: false
schema: createDatabase: enabled: true setup: enabled: true update: enabled: trueThen configure LlamaCloud to connect to your external Temporal:
# LlamaCloud values.yamltemporal: deploy: false host: temporal-frontend # Your Temporal frontend service name port: 7233Complete Configuration Reference
Section titled “Complete Configuration Reference”For the most up-to-date and comprehensive configuration options, refer directly to our Helm repository:
- Complete values.yaml reference - Full configuration options with detailed comments
- External dependencies example - Complete working example for external dependencies
- Helm chart documentation - Generated documentation with all configuration parameters