Overview
Self-Hosting Documentation Access
This section requires a password to access. Interested in self-hosting? Contact sales to learn more.
LlamaCloud requires a few external dependencies — Postgres, MongoDB, Redis, and RabbitMQ.
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. - Recommended Managed Services:
- Minimum Version
- MongoDB
- 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
- 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
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