Display Helm Chart Values
Example of the external Redis configuration in the Helm chart values:
Redis SSL Configuration
- To enable Redis with SSL, set the
useSSL field to true.
- The
port field should be set to 6379 for non-SSL connections and 6380 for SSL connections.
High Availability
- Sentinel: set
sentinel.enabled to true, then provide sentinel.nodes and sentinel.serviceName.
The main Redis (cache, Celery broker, and the dify-enterprise Go services) runs in standalone or sentinel mode only. Redis Cluster is not supported for the main Redis: Celery cannot address a cluster broker, the Go services reject cluster mode at startup, and enterprise queues use cross-key operations that trigger CROSSSLOT errors on a cluster.
Event Bus
The Event Bus is a community-only API ↔ worker pub/sub stream. By default (eventBus.url empty) it rides on the main externalRedis connection. To move it onto a dedicated Redis — typically a Redis Cluster, for cluster-scale fan-out — set eventBus.url, and set eventBus.useClusters: true when that URL is a Redis Cluster. The chart then injects EVENT_BUS_REDIS_URL / EVENT_BUS_REDIS_USE_CLUSTERS into the shared ConfigMap. dify-enterprise Go services do not consume these variables.
The channel type defaults to pubsub. To use sharded or streams, override EVENT_BUS_REDIS_CHANNEL_TYPE via extraEnv on api, worker, worker-beat, additional workers, and plugin_daemon:
Upgrading from 3.9.x or earlier: the externalRedis.cluster block has been removed. If cluster.enabled: true is still set, helm template / helm upgrade now fails fast. Remove it and keep the main Redis on standalone or sentinel. For cluster-scale fan-out, move the Redis Cluster behind the Event Bus (eventBus.url + eventBus.useClusters: true).