Docker environment variables

Environment variables are used to configure a Docker image for different scenarios based on your business needs. This topic describes various environment variables and the scenarios they can be used in.

Some environment variables are common for all product Docker images such as:

ADMIN_PASSWORD
  • Admin user password used in our products.
  • possible values: “password-value”
  • default value: If this value is not passed, a random 8 characters password will be generated.
  • example: “admP@ssw0rd01”
REPOSITORY_KEYSTORE_PASSPHRASE
  • Repository keystore passphrase used in our products.
  • possible values: “passphrase-string-value”
  • default value: If this value is not passed, a random 16 characters password will be generated.
  • example: “XLP@ssphr@se01”

Note: Keystore password must be at least 6 characters.

REPOSITORY_KEYSTORE
  • Repository keystore used in our products.
  • possible values: “keystore-string-value”
  • default value: content of ${APP_HOME}/conf/repository-keystore.jceks which is generated from keytool -genseckey -alias deployit-passsword-key -keyalg aes -keysize 128 -keypass "deployit" -keystore ${APP_HOME}/conf/repository-keystore.jceks -storetype jceks -storepass ${REPOSITORY_KEYSTORE_PASSPHRASE}
  • example: “b3J0IHBvbGljeTogMSBtb250aCBvZiB0ZWNobmljYWwgc3VwcG9ydApFZGl0aW9uOiBUcmlhbAotLS0gU2lnbmF0dXJlIChTSEExd2l0aERTQSkgLS0tCjMwMmMwM”

    Note: This value is set as a string which is then converted to a base64 value and added to a keystore file as shown below: echo "${REPOSITORY_KEYSTORE}" | base64 -d > ${APP_HOME}/conf/repository-keystore.jceks

XL_LICENSE
  • Sets your XL License by passing a base64 string license, which will then be added to the license file. For more details on other options to pass the license in a volume, see Manage volumes in Docker.
  • possible values: “license-base64-value”
  • default value: unregistered license valid for 7 days, but you must use ACCEPT_EULA.
  • example: “LS0tIExpY2Vuc2UgLS0tCkxpY2Vuc2UgdmVyc2lvbjogMwpQcm9kdWN0OiOiBUcmlhbAotLS0gU2lnbmF0dXJlIChTSEExd2l0aERTQSkgLS0tCjMwMmMwMjE0MTY5YjUyNGFkYWYwYWRhYmNlZDcyMGM0YmZkMGmVhNTZhNGFiMzk4YTgzNGUyZjJiOWQ1CjI2MzNhHVyZSAtLS0K%”
ACCEPT_EULA
  • “You must accept the End User License Agreement” if you are unable to provide your own license before the container can start.
  • possible values: “y” or “Y”
  • default value: none
FORCE_UPGRADE
  • Force upgrade setting. It can be used to perform an upgrade using the non-interactive mode by passing the flag -force-upgrades while starting a service.
  • possible values: “true”, “false”
  • default value: “false”
XL_CLUSTER_MODE
  • This is to specify if the HA setup is needed and to specify the HA-mode.
  • possible values: “default”, “hot-standby”, “full”
  • default value: “default”
XL_DB_URL
  • This is to set a DB URL that will be used for the repository.
  • possible values: “url-string-value”
  • default value: for XLD "jdbc:h2:file:${APP_HOME}/repository/xl-deploy" for XLR jdbc:h2:file:${APP_HOME}/repository/xl-release
  • example: jdbc:postgresql://postgresql:5432/XLDATABASENAME
XL_DB_USERNAME
  • Username used to connect to the database configured with our products.
  • possible values: “user-string-value”
  • default value: “sa”
  • example: “xl_user”
XL_DB_PASSWORD
  • Password used to connect to the database configured with our products.
  • possible values: “password-value”
  • default value: “123”
  • example: “xl_P@ssw0rd01”
XL_METRICS_ENABLED
  • Flag to expose internal and system metrics over Java Management Extensions (JMX). This is to enable the use of monitoring systems that can read JMX data, with our products.
  • possible values: “true”,“false”
  • default value: “false”
GENERATE_XL_CONFIG
  • Used to generate a configuration from the environment parameters passed, and the volumes mounted with custom changes. If the value is set to false, a default config is used and all the environment variables and volumes added will be ignored.
  • possible values: “true”,“false”
  • default value: “true”
USE_IP_AS_HOSTNAME
  • Used to set IP address of the container as the hostname for the instance. If the value is set to true, then an IP address is used instead of the container ID. This is useful when deploying Deploy as active-active cluster using docker compose, as Akka cannot resolve aliases within the docker network.
  • possible values: “true”,“false”
  • default value: “false

Environment variables specific for Deploy Docker images

XLD_IN_PROCESS
  • Used to control whether the internal in-process worker should be used or not. If you need to use external workers then this needs to be set to false.
  • possible values: “true”, “false”
  • default value: “true”
XLD_TASK_QUEUE_NAME
  • Name for MQ task queue.
  • possible values: “name-string-value”
  • default value: “xld-tasks-queue”
  • example: “xldeploy-tasks_q”
XLD_TASK_QUEUE_IN_PROCESS_MAX_DISK_USAGE
  • Sets the value for the maximum disk usage for an internal worker.
  • possible values: “max-number-value”
  • default value: “100”
  • example “150”
XLD_TASK_QUEUE_IN_PROCESS_SHUTDOWN_TIMEOUT
  • Sets the value for the shutdown time out for an internal worker.
  • possible values: “timeout-number-value”
  • default value: “60000”
  • example “80000”
XLD_TASK_QUEUE_DRIVER_CLASS_NAME
  • Used to set the MQ Provider configurations, which copy the required drivers to the lib folder.
  • possible values: “rabbitmq”, “activemq”
  • default value: none
XLD_TASK_QUEUE_URL
  • MQ task queue URL to specify either the IP or the hostname.
  • possible values: “ip/hostname-value”
  • default value: none
  • example: http://xl-deploy.company.com
XLD_TASK_QUEUE_USERNAME
  • MQ task queue username.
  • possible values: “user-string-value”
  • default value: none
  • example: “xld_user”
XLD_TASK_QUEUE_PASSWORD
  • MQ task queue password.
  • possible values: “password-value”
  • default value: none
  • example: “MQ_P@ssw0rd01”
HOSTNAME_SUFFIX
  • Adds a string suffix to your Deploy hostname, to which external workers can connect with a master in a master-worker setup.
  • possible values: “suffix-string-value”
  • default value: none
  • example: “xldmaster01”