Skip to content

Botium Box Configuration

Botium Box Server and Agents are configured with environment variables. You have to add those environment variables to the Botium Box docker-compose.yml file.

Note

When using another technology to start the containers, use this technologies means of passing environment variables to Botium Box. Passing environment variables is the state-of-the-art-method for container configuration and supported by all providers.

Note

Please note that the Botium Box distribution has reasonable defaults for all of these settings, so in most cases you won’t have to change anything.

Environment Variables for Botium Box Server and Agent(s)

Relevant for Botium Box Server and Botium Box Agent

BOTIUMBOX_QUEUE_REDISURL

the URL for connection to Redis (see here for details), the default is Redis running on same host (redis://127.0.0.1:6379)

BOTIUMBOX_QUEUE_PREFIX

has to be the same for server and agent(s). Can be used to use one Redis instance for multiple Botium Box installations.

DEBUG

to enable detailed application logging, Botium Box uses the "debug" conventions (https://github.com/visionmedia/debug). In short: set the environment variable "DEBUG" to "botium*" to enable logging for all botium-related sections.

Environment Variables for Botium Box Server

Only relevant for Botium Box Server

PRISMA_ENDPOINT

Prisma endpoint url, for example "http://127.0.0.1:4466/box/prod"

PRISMA_SECRET

The secret (“password”) for accessing the Prisma instance

REQUEST_SIZE_LIMIT

The maximal size of request payload. This is especially important for TestSet file uploads. default is (10MB)

JWT_SECRET

Encryption token for website security tokens, for example "jwtsecret123"

BOTIUMBOX_ENABLE_CONNECTORS

comma-separated list of connectors to enable (for custom connectors)

BOTIUMBOX_AGENTREGISTRATION

"AUTO" (default) for automatically registering agents by agent name

BOTIUMBOX_AGENT_LIST

comma separated list of allowed agent names

BOTIUMBOX_API_TIMEOUT

Timeout for all API operations in seconds (default: 30 minutes)

BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY (> 2.8.2)

concurrency count for processing agent responses (default: 50)

BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY_PERFORMANCE (> 2.8.2)

concurrency count for processing performance test responses (default: 1000)

BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY_COACH (> 2.8.2)

concurrency count for processing coach test responses (default: 50)

BOTIUMBOX_METRICS_ENABLE_BOX (> 2.8.2)

Set to 1 to publish Botium Box internal metrics on the Prometheus endpoint /metrics (default disabled)

BOTIUMBOX_METRICS_ENABLE_NODEJS (> 2.8.2)

Set to 1 to publish Node.js metrics on the Prometheus endpoint /metrics (default disabled)

See here for details about the published metrics

BOTIUMBOX_SCANFORTESTSETS

Path to a directory scanned for Test Sets on launch. Folder Structure is like:

  • en

    • TestSet1

    • TestSet2

  • de

    • TestSet1

First level: language code

second level: Test Set name

BOTIUMBOX_OVERWRITETESTSETS

If a test set has already been imported from the test sets folder (see above), it won’t be imported again. Settings this to “1” will delete the existing test set and import it again. Changes to a test set will be lost.

BOTIUMBOX_MIME_TYPE_VALIDATOR_PROCESSOR

Settings/File Browser tries to detect corrupted/unsecure files. For example does not allow to upload a binary file with .txt extension.

There are too many extensions, And some formats are diffcult to test (like markdown), so the check may not work always as expected.

You can choose from two validator providers, or turn the whole validation off with this environment variable.

mmmagic - recognizes, and so allows more mimetypes. On dev environment it has been exited with error code sometimes. Uses mmmagic module in backgroud.

file-type - supports less mimetypes, and the supported ones are checked more strict. (Does not accepts every txt file as JSON for example, as mmmagic does)

off - turns the validation off

BOTIUMBOX_LOAD_PLUGINS

Plugins are custom components in resources directory of Botium Box. They are not loaded as default due to security reasons. You can activate loading with ‘on’ or ‘enable’ value, deactivate with empty string.

Plugins are:

SMTP Settings

SMTP_HOST - SMTP Server Hostname

SMTP_PORT - SMTP Server Port

SMTP_SECURE - Set to 1 to use SSL for SMTP connection

SMTP_USER - SMTP Username

SMTP_PASSWORD - SMTP Password

External API Settings

PARAPHRASING_APIKEY

Quillbot-API Key from RapidAPI

GOOGLE_TRANSLATE_CLIENT_EMAIL and GOOGLE_TRANSLATE_PRIVATE_KEY

For Google Cloud Translation credentials

SPEECH_PROCESSING_ENDPOINT and SPEECH_PROCESSING_APIKEY

For Botium Speech and Voice Processing

COACH_WORKER_ENDPOINT and COACH_WORKER_APIKEY

For Botium Coach Worker

Environment Variables for Botium Box Agent(s)

Only relevant for Botium Box Agent

BOTIUMBOX_AGENT_NAME

for setting an agent name (each agent should have a different name). By default, the hostname is used.

BOTIUMBOX_AGENT_NUM

agent name composed of hostname and this number (for cluster mode)

BOTIUMBOX_AGENT_GROUP

currently not usec

BOTIUMBOX_QUEUE_HEARTBEAT

set to amount of milliseconds between heartbeat message (default: 30000 - 30 seconds)

BOTIUMBOX_QUEUE_CONCURRENCY

concurrency count for processing agent requests (default: 1)

BOTIUMBOX_QUEUE_CONCURRENCY_PERFORMANCE

concurrency count for processing performance tests (default: 1)

BOTIUMBOX_QUEUE_CONCURRENCY_COACH

concurrency count for processing coach tests (default: 10)

BOTIUMBOX_QUEUE_PROGRESS_RETRY_ATTEMPTS

number of retries for sending progress (default: 5)

BOTIUMBOX_QUEUE_PROGRESS_RETRY_DELAY

number of milliseconds between retries in milliseconds (default: 10000 - 10 seconds)

BOTIUMBOX_AGENT_MAX_CONVO_DURATION

maximum number of milliseconds a test case is allowed to take (default: 600000 - 10 minutes)