Skip to main content

Studio Environment Variables

Server

The Studio server handles the API, user authentication, assistant configuration, and conversation storage.

Core

Environment VariableDescriptionDefault
RASA_PRO_LICENSEThe Rasa Pro license key.
OPENAI_API_KEYThe OpenAI API key for LLM-powered features.
HTTP_REQUEST_TIMEOUTThe HTTP request timeout in milliseconds. Set this higher than your load balancer timeout to avoid premature connection drops.61000

Database

The database stores conversations, assistant configurations, and analytics data. Both the Studio server and the event ingestion service use this same database connection.

Environment VariableDescriptionDefault
DB_HOSTThe hostname of the PostgreSQL database.
DB_PORTThe port of the PostgreSQL database.5432
DB_NAMEThe name of the PostgreSQL database.studio
DB_USERThe username for the PostgreSQL database.
DB_PASSThe password for the PostgreSQL database.
DB_QUERYAdditional connection query parameters.
DB_TRANSACTION_TIMEOUTThe database transaction timeout in milliseconds.10000
USE_AWS_IAM_AUTHSet to true to use AWS IAM authentication for the database instead of username/password.false
AWS_REGIONThe AWS region for IAM authentication. Required if USE_AWS_IAM_AUTH is true.
IAM_DB_USERThe IAM database username. Required if USE_AWS_IAM_AUTH is true.

Authentication

Studio uses Keycloak for identity and access management.

Environment VariableDescriptionDefault
KEYCLOAK_REALMThe Keycloak realm name.rasa-studio
KEYCLOAK_CLIENT_IDThe Keycloak client ID for the Studio backend.rasa-studio-backend
KEYCLOAK_ADMIN_USERNAMEThe Keycloak admin username.kcadmin
KEYCLOAK_ADMIN_PASSWORDThe Keycloak admin password.
KEYCLOAK_API_USERNAMEThe username for Keycloak realm management API calls.realmadmin
KEYCLOAK_API_PASSWORDThe password for Keycloak realm management API calls.
KEYCLOAK_API_CLIENT_IDThe client ID for Keycloak API authentication.admin-cli

Model Server

Environment VariableDescriptionDefault
MS_API_URLThe URL of the Rasa model server API.http://rasapro

Conversation Management

Environment VariableDescriptionDefault
DELETE_CONVERSATIONS_OLDER_THAN_HOURSDelete conversations older than this many hours. When not set, conversations are retained indefinitely.
DELETE_CONVERSATIONS_CRON_EXPRESSIONCron expression controlling when the conversation deletion job runs.0 * * * *
VERSION_DAILY_STATISTICS_CRON_EXPRESSIONCron expression controlling when daily version statistics are computed.0 0 * * *

Voice

Environment VariableDescriptionDefault
BROWSER_AUDIO_MONITOR_SILENCESet to false to disable silence detection in audio sessions.true
BROWSER_AUDIO_ASRThe speech-to-text (ASR) provider name.deepgram
BROWSER_AUDIO_TTSThe text-to-speech (TTS) provider name.cartesia
DEEPGRAM_API_KEYThe Deepgram API key for speech-to-text.
CARTESIA_API_KEYThe Cartesia API key for text-to-speech.

To enable voice features, you must set both DEEPGRAM_API_KEY and CARTESIA_API_KEY, even if you are only using one of the providers for both speech-to-text and text-to-speech. In such a case, set the unused provider's environment variable to a placeholder value (e.g., CARTESIA_API_KEY=unused).

Observability

Environment VariableDescriptionDefault
LOG_LEVEL_DEBUGSet to true to enable debug-level logging.false
LOG_FILEPath to a file where logs are written. When not set, logs go to stdout only.

Advanced

Environment VariableDescriptionDefault
TRAINING_POLLING_INTERVAL_MSInterval in milliseconds at which Studio polls for model training status. Minimum value: 1000.1000
MODEL_POLLING_INTERVAL_MSInterval in milliseconds at which Studio polls for model deployment status. Minimum value: 2000.2000
MODEL_INACTIVE_AFTER_MSTime in milliseconds after which a running model version is marked as inactive. Minimum value: 60000.3600000

Event Ingestion

Studio consumes Rasa events from a Kafka topic to power analytics and conversation review. Ingested events are persisted to the same PostgreSQL database configured in the Database section above.

Kafka

Environment VariableDescriptionDefault
KAFKA_BROKER_ADDRESSThe address of the Kafka broker.
KAFKA_TOPICThe Kafka topic that Rasa publishes events to.rasa-events
KAFKA_DLQ_TOPICThe Kafka dead letter queue topic for events that fail processing.rasa-events-dlq
KAFKA_CLIENT_IDThe Kafka client identifier.kafka-python-rasa
KAFKA_GROUP_IDThe Kafka consumer group ID.studio
KAFKA_SASL_MECHANISMThe SASL mechanism for Kafka authentication (e.g. PLAIN, SCRAM-SHA-256).
KAFKA_SASL_USERNAMEThe username for Kafka SASL authentication.
KAFKA_SASL_PASSWORDThe password for Kafka SASL authentication.
KAFKA_ENABLE_SSLSet to true to enable SSL/TLS for Kafka connections.false
KAFKA_REJECT_UNAUTHORIZEDSet to false to allow untrusted SSL certificates. Not recommended for production.true
KAFKA_CUSTOM_SSLSet to true to supply custom SSL certificate files via the variables below.false
KAFKA_CA_FILEPath to the CA certificate file. Required when KAFKA_CUSTOM_SSL is true.
KAFKA_CERT_FILEPath to the client certificate file.
KAFKA_KEY_FILEPath to the client key file.
KAFKA_MAX_RETRIESThe maximum number of reconnection attempts before giving up.3