Environment Variables

Environment variables are used to store the values of the frequently used parameters that are provided to a software program at runtime. The utilization of such placeholders makes your application more portable and flexible.

The most common use of variables is to make quick adjustments to specific values that are utilized multiple times in your application code. Follow the linked guide if you need to create such custom environment variables for your project.

Another use case for variables is to configure the application through the set of predefined values (enable/disable features, change behavior, etc). Jelastic PaaS supplements most of the certified software stacks with a number of default variables, which can be used by developers to help with application hosting.

Default Environment Variables

  • Click this abstract to view a full list of default variables used within Jelastic PaaS containers.
    Variable NameEditable*StacksDescription
    {SOFTWARE}_VERSION-AllA version of the specified software (stack, engine, template, module, etc).
    ADMIN_USER-GlassFish (Payara), WildFly, Couchbase, LiteSpeed Web Server, LiteSpeed ADC, LLSMPA login of the admin user for the administration console.
    ADMINPANEL_ENABLED (PHPMYADMIN_ENABLED)+Databases, LLSMP, LEMPThe “true” and “1” values allow usage of the admin panel, while any other disables it. Restart is required to apply changes. The value in brackets is deprecated but can still be used on the MySQL and MariaDB databases.
    APP_FILE+Node.jsThe main Node.js application file to be launched.
    AUTO_OLD_HEAP+Node.jsTurns on/off (true/false) Jelastic memory autoconfiguration - sets the maximum size of an old heap based on the amount of memory on the container.
    CACHE_MEM_LIMIT+LLSMP, LEMPDefines the portion of RAM, which should be reserved for the built-in Redis cache server, 10% of container total RAM by default.
    CLONE_ON_SCALE+AllDefines if new nodes upon horizontal scaling should be clones of a layer’s master (true) or created from scratch (false).
    CP_MEM_LIMIT+LLSMP, LEMPDefines the portion of RAM, which should be reserved for the application server, 50% of container total RAM by default.
    DAS-GlassFish (Payara)Shows if there is a DAS node (required to configure cluster) for the current layer.
    DB_MEM_LIMIT+LLSMP, LEMPDefines the portion of RAM, which should be reserved for the built-in MariaDB database server, 40% of container total RAM by default.
    DEFAULT_CLUSTER+LiteSpeed ADCSelects the load balancing type for requests proxying (HTTP, AJP, FCGI, LSAPI).
    DOCKER_EXPOSED_PORT-AllLists ports from the EXPOSE directive of the image’s dockerfile, which were opened via container firewall during the environment creation.
    FULL_GC_AGENT_DEBUG+JavaEnables (true) or disables (false) the debug mode to track the Java GC processes in the logs.
    FULL_GC_PERIOD+JavaSets the interval (in seconds) between the full GC calls; 900 by default, i.e. 15 minutes.
    G1PERIODIC_GC_INTERVAL+ (for openJDK 12/13 only)JavaA frequency of the G1 Periodic Collection in milliseconds (G1PeriodicGCInterval - 15 minutes by default); set as 0 to disable.
    G1PERIODIC_GC_SYS_LOAD_THRESHOLD+ (for openJDK 12/13 only)JavaAllows G1 Periodic Collection execution, if the average one-minute system load is below the set value. This condition is ignored if set as zero.
    Is equal to the {CPU_cores_number} * {GC_SYS_LOAD_THRESHOLD_RATE} by default.
    GC_SYS_LOAD_THRESHOLD_RATE+ (for openJDK 12/13 only)JavaCustom multiplier to flexibly adjust the G1PeriodicGCSystemLoadThreshold value (0.3 by default).
    GEM_HOME+RubyLocations (can be several) where gems can be found (should include GEM_PATH).
    GEM_PATH-RubyA location where gems will be installed by default.
    GMS_LISTENER_PORT-GlassFish (Payara)A port used by the group management service (GMS).
    GO_BUILD_OPTIONS+GoOptions and flags that should be used for the Go application building.
    GO_RUN+GoSets the name of the executable binary file. If not specified, the deployment script will try to locate one based on the project name.
    GO_RUN_OPTIONS+GoOptions and flags that should be used to run the Go application.
    GOPATH-GoDefines the Go application deployment folder.
    HAZELCAST_CONFIG+GlassFish (Payara)Sets a path to the hazelcast configuration file.
    HOME_DIR-GlassFish (Payara), WildFly, Spring Boot, Java Engine, Node.js, Shared StorageContainer home directory.
    IRBRC-RubyA path to the IRB configuration file.
    JAVA_ARGS+JavaAllows passing some custom arguments to the main function of your application.
    JAVA_HOME-Java, MavenPoints to the directory where the Java runtime environment (JRE) is installed.
    JAVA_OPTS_CONFFILE-Java, MavenPath to the variables.conf file.
    JBOSS_HOME-WildFlyWildFly home directory.
    JELASTIC_AUTOCONFIG+LLSMP, LiteSpeed Web Server, LiteSpeed ADCEnables (enabled) or disables (disabled) autoconfiguration of the LiteSpeed worker processes count based on the allocated RAM and number of CPU cores.
    JELASTIC_EXPOSE+AllManages the auto-redirect functionality state with an ability to define the required port manually.
    JELASTIC_MEMORY_AUTOCONFIG+WildFlyEnables (true) or disables (false) memory auto-configuration for WildFly.
    JELASTIC_PORTS+ (before env creation)AllSpecifies custom ports, which should be opened in firewall during container creation.
    JELASTIC_PRIORITY_PORTS+GlassFish (Payara)Sets a GlassFish HTTP listener port.
    LAUNCH_JBOSS_IN_BACKGROUND+WildFlyEnables (true) or disables (false) start of an application server in the background mode.
    MASTER_HOST-AllA short hostname for a master node within a layer.
    MASTER_ID-AllA unique node identifier of a master node within a layer.
    MASTER_IP-AllAn internal IP address of a master node within a layer.
    MAVEN_DEPLOY_ARTIFACT+MavenDefines an artifact to be deployed (can be redefined for a particular project).
    MAVEN_OPTS+MavenSets parameters to be used to start up the JVM running Maven and can be used to supply additional global options.
    MAVEN_RUN_ARGS+MavenAllows passing some custom arguments for the application build (can be redefined for a particular project).
    MY_RUBY_HOME-RubyA path to the directory where the Ruby engine is located.
    NODE_ENV-Node.jsSpecifies the environment in which an application is running (e.g. development, staging, production, testing, etc).
    NODE_OPTIONS+Node.jsVariable for specifying the Node.js runtime v8 options.
    NVM_DIR-Node.jsA path to the NVM installation location.
    ON_ENV_INSTALL+ (before env creation)AllA script (or link to it) to be executed after environment creation.
    PACKAGE_MANAGER+Node.jsA variable that contains the name of a package manager for installing the javascript packages (npm or yarn).
    PACKAGE_MANAGER_OPTS+Node.jsAdditional options for the package manager (refer to the official npm or yarn documentation).
    PATH-AllA default shell variable, with a list of paths to directories with executable programs.
    PHPFPM_MAX_CHILDREN+NGINX PHPSets a number of child worker processes for PHP-FPM. It is equal to the number of CPU cores available for the container by default (but no less than 2).
    PORT_4848_TCP_PORT-GlassFish (Payara)A port for the admin console.
    PROCESS_MANAGER+Node.jsVariable for choosing the Node.js process manager (i.e. npm, pm2, forever, supervisor).
    PROCESS_MANAGER_FILE-Node.jsA path to the file that contains the start options for the process manager.
    PSWD_FILE-GlassFish (Payara)A path to the file with an admin user password.
    REDIS_COMMANDER+RedisDefines if the Redis Commander management tool should be enabled or disabled.
    REDIS_ENABLED+LLSMP, LEMP, LiteSpeed Web ServerEnables (true) or disables (false) object caching with Redis.
    REDIS_SENTINEL+RedisDefines if the Redis Sentinel high-availability and monitoring tool should be enabled or disabled.
    ROOT_DIR-Node.jsDisplays a path to the application deployment directory.
    SERVER_WEBROOT-LLSMP, LiteSpeed Web ServerDisplays a path to the application deployment directory.
    STACK_NAME-AllThe name of the current stack.
    STACK_PATH-AllThe home directory of the stack.
    STACK_USER-AllThe name of the stack’s default user.
    STANDALONE_MODE_CONFIG+WildFlyA configuration file to launch a standalone WildFly server.
    TCP_BALANCING+HAProxyEnables (true) or disables (false) traffic proxying and balancing to TPC backends.
    UPDATE_PACKAGES_ON_RESTART+Node.jsEnables (true) or disables (false) automatic packages installation after the nodejs service restart. If there is no node_modules directory inside the webroot one, such an update is called regardless of this variable.
    UPSTREAM_KEEPALIVE+NGINX balancerSets the keepalive directive value for the upstream.
    VERT_SCALING+JavaDefines if the default Java GC agent should be enabled (true) or disabled (false).
    WAF+LLSMP, LiteSpeed Web ServerEnables (true) or disables (false) Web Application Firewall with the Comodo default ruleset for the LiteSpeed Web Server.
    WEB_ROOT-GoA path to the deployed application.
    WEBROOT-PHP, Tomcat (TomEE), GlassFish (Payara)Displays a path to the application deployment directory.
    WORKER_PROCESSES+NGINX balancerSets a number of worker processes - can be autodetected by NGINX (auto) or set equal to the CPU cores count (define).

     Or use the categorized groups below to narrow the search.
  • Note: Variables marked with “+” in the Editable column can be freely adjusted to customize your container. Herewith, a restart is required to apply changes.

    It is not recommended to adjust variables marked with “-” as such an action won’t apply any actual changes to the container; however, it may break some internal logic.

    There are a number of options that can be used with all of the Jelastic-managed stacks:

    Variable NameEditable*Description
    {SOFTWARE}_VERSION-A version of the specified software (stack, engine, template, module, etc).
    CLONE_ON_SCALE+Defines if new nodes upon horizontal scaling should be clones of a layer’s master (true) or created from scratch (false).
    DOCKER_EXPOSED_PORT-Lists ports from the EXPOSE directive of the image’s dockerfile, which were opened via container firewall during the environment creation.
    JELASTIC_EXPOSE+Manages the auto-redirect functionality state with an ability to define the required port manually.
    JELASTIC_PORTS+ (before env creation)Specifies custom ports, which should be opened in firewall during container creation.
    MASTER_HOST-A short hostname for a master node within a layer.
    MASTER_ID-A unique node identifier of a master node within a layer.
    MASTER_IP-An internal IP address of a master node within a layer.
    ON_ENV_INSTALL+ (before env creation)A script (or link to it) to be executed after environment creation.
    PATH-A default shell variable, with a list of paths to directories with executable programs.
    STACK_NAME-The name of the current stack.
    STACK_PATH-The home directory of the stack.
    STACK_USER-The name of the stack’s default user.

    • Java
      StackVariable NameEditable*Description
      All JavaFULL_GC_AGENT_DEBUG+Enables (true) or disables (false) the debug mode to track the Java GC processes in the logs.
      FULL_GC_PERIOD+Sets the interval (in seconds) between the full GC calls; 900 by default, i.e. 15 minutes.
      G1PERIODIC_GC_INTERVAL+ (for openJDK 12/13 only)A frequency of the G1 Periodic Collection in milliseconds (G1PeriodicGCInterval - 15 minutes by default); set as 0 to disable.
      G1PERIODIC_GC_SYS_LOAD_THRESHOLD+ (for openJDK 12/13 only)Allows G1 Periodic Collection execution, if the average one-minute system load is below the set value. This condition is ignored if set as zero.
      Is equal to the {CPU_cores_number} * {GC_SYS_LOAD_THRESHOLD_RATE} by default.
      GC_SYS_LOAD_THRESHOLD_RATE+ (for openJDK 12/13 only)Custom multiplier to flexibly adjust the G1PeriodicGCSystemLoadThreshold value (0.3 by default).
      JAVA_ARGS+Allows passing some custom arguments to the main function of your application.
      JAVA_HOME-Points to the directory where the Java runtime environment (JRE) is installed.
      JAVA_OPTS_CONFFILE-Path to the variables.conf file.
      VERT_SCALING+Defines if the default Java GC agent should be enabled (true) or disabled (false).
      Tomcat & TomEEWEBROOT-Displays a path to the application deployment directory.
      GlassFish & PayaraADMIN_USER-A login of the admin user for the administration console.
      DAS-Shows if there is a DAS node (required to configure cluster) for the current layer.
      GMS_LISTENER_PORT-A port used by the group management service (GMS).
      HAZELCAST_CONFIG+Sets a path to the hazelcast configuration file.
      HOME_DIR-Container home directory.
      JELASTIC_PRIORITY_PORTS+Sets a GlassFish HTTP listener port.
      PORT_4848_TCP_PORT-A port for the admin console.
      PSWD_FILE-A path to the file with an admin user password.
      WEBROOT-Displays a path to the application deployment directory.
      WildFlyADMIN_USER-A login of the admin user for the administration console.
      HOME_DIR-Container home directory.
      JBOSS_HOME-WildFly home directory.
      JELASTIC_MEMORY_AUTOCONFIG+Enables (true) or disables (false) memory auto-configuration for WildFly.
      LAUNCH_JBOSS_IN_BACKGROUND+Enables (true) or disables (false) start of an application server in the background mode.
      STANDALONE_MODE_CONFIG+A configuration file to launch a standalone WildFly server.
      Spring BootHOME_DIR-Container home directory.
      Java EngineHOME_DIR-Container home directory.

    • PHP
      StackVariable NameEditable*Description
      All PHPWEBROOT-Displays a path to the application deployment directory.
      NGINXPHPFPM_MAX_CHILDREN+Sets a number of child worker processes for PHP-FPM. It is equal to the number of CPU cores available for the container by default (but no less than 2).
      LiteSpeed Web ServerADMIN_USER-A login of the admin user for the administration console.
      JELASTIC_AUTOCONFIG+Enables (enabled) or disables (disabled) autoconfiguration of the LiteSpeed worker processes count based on the allocated RAM and number of CPU cores.
      REDIS_ENABLED+Enables (true) or disables (false) object caching with Redis.
      SERVER_WEBROOT-Displays a path to the application deployment directory.
      WAF+Enables (true) or disables (false) Web Application Firewall with the Comodo default ruleset for the LiteSpeed Web Server.
      LLSMPADMIN_USER-A login of the admin user for the administration console.
      ADMINPANEL_ENABLED+The “true” and “1” values allow usage of the admin panel, while any other disables it. Restart is required to apply changes.
      CACHE_MEM_LIMIT+Defines the portion of RAM, which should be reserved for the built-in Redis cache server, 10% of container total RAM by default.
      CP_MEM_LIMIT+Defines the portion of RAM, which should be reserved for the application server, 50% of container total RAM by default.
      DB_MEM_LIMIT+Defines the portion of RAM, which should be reserved for the built-in MariaDB database server, 40% of container total RAM by default.
      JELASTIC_AUTOCONFIG+Enables (enabled) or disables (disabled) autoconfiguration of the LiteSpeed worker processes count based on the allocated RAM and number of CPU cores.
      REDIS_ENABLED+Enables (true) or disables (false) object caching with Redis.
      SERVER_WEBROOT-Displays a path to the application deployment directory.
      WAF+Enables (true) or disables (false) Web Application Firewall with the Comodo default ruleset for the LiteSpeed Web Server.
      LEMPADMINPANEL_ENABLED+The “true” and “1” values allow usage of the admin panel, while any other disables it. Restart is required to apply changes.
      CACHE_MEM_LIMIT+Defines the portion of RAM, which should be reserved for the built-in Redis cache server, 10% of container total RAM by default.
      CP_MEM_LIMIT+Defines the portion of RAM, which should be reserved for the application server, 50% of container total RAM by default.
      DB_MEM_LIMIT+Defines the portion of RAM, which should be reserved for the built-in MariaDB database server, 40% of container total RAM by default.
      REDIS_ENABLED+Enables (true) or disables (false) object caching with Redis.

    • Ruby
      Variable NameEditable*Description
      GEM_HOME+Locations (can be several) where gems can be found (should include GEM_PATH).
      GEM_PATH-A location where gems will be installed by default.
      IRBRC-A path to the IRB configuration file.
      MY_RUBY_HOME-A path to the directory where the Ruby engine is located.

    • Node.js
      Variable NameEditable*Description
      APP_FILE+The main Node.js application file to be launched.
      AUTO_OLD_HEAP+Turns on/off (true/false) Jelastic memory autoconfiguration - sets the maximum size of an old heap based on the amount of memory on the container.
      HOME_DIR-Container home directory.
      NODE_ENV-Specifies the environment in which an application is running (e.g. development, staging, production, testing, etc).
      NODE_OPTIONS+Variable for specifying the Node.js runtime v8 options.
      NVM_DIR-A path to the NVM installation location.
      PACKAGE_MANAGER+A variable that contains the name of a package manager for installing the javascript packages (npm or yarn).
      PACKAGE_MANAGER_OPTS+Additional options for the package manager (refer to the official npm or yarn documentation).
      PROCESS_MANAGER+Variable for choosing the Node.js process manager (i.e. npm, pm2, forever, supervisor).
      PROCESS_MANAGER_FILE-A path to the file that contains the start options for the process manager.
      ROOT_DIR-Displays a path to the application deployment directory.
      UPDATE_PACKAGES_ON_RESTART+Enables (true) or disables (false) automatic packages installation after the nodejs service restart. If there is no node_modules directory inside the webroot one, such an update is called regardless of this variable.

    • Go (Golang)
      Variable NameEditable*Description
      GO_BUILD_OPTIONS+Options and flags that should be used for the Go application building.
      GO_RUN+Sets the name of the executable binary file. If not specified, the deployment script will try to locate one based on the project name.
      GO_RUN_OPTIONS+Options and flags that should be used to run the Go application.
      GOPATH-Defines the Go application deployment folder.
      WEB_ROOT-A path to the deployed application.

    • Load Balancers
      StackVariable NameEditable*Description
      HAProxyTCP_BALANCING+Enables (true) or disables (false) traffic proxying and balancing to TPC backends.
      NGINXUPSTREAM_KEEPALIVE+Sets the keepalive directive value for the upstream.
      WORKER_PROCESSES+Sets a number of worker processes - can be autodetected by NGINX (auto) or set equal to the CPU cores count (define).
      LiteSpeed ADCADMIN_USER-A login of the admin user for the administration console.
      DEFAULT_CLUSTER+Selects the load balancing type for requests proxying (HTTP, AJP, FCGI, LSAPI).
      JELASTIC_AUTOCONFIG+Enables (enabled) or disables (disabled) autoconfiguration of the LiteSpeed worker processes count based on the allocated RAM and number of CPU cores.

    • Databases
      StackVariable NameEditable*Description
      All DatabasesADMINPANEL_ENABLED
      (PHPMYADMIN_ENABLED)
      +The “true” and “1” values allow usage of the admin panel, while any other disables it. Restart is required to apply changes. The value in brackets is deprecated but can still be used on the MySQL and MariaDB databases.
      RedisREDIS_COMMANDER+Defines if the Redis Commander management tool should be enabled or disabled.
      REDIS_SENTINEL+Defines if the Redis Sentinel high-availability and monitoring tool should be enabled or disabled.
      CoachbaseADMIN_USER-A login of the admin user for the administration console.

    • Others
      StackVariable NameEditable*Description
      MavenJAVA_HOME-Points to the directory where the Java runtime environment (JRE) is installed.
      JAVA_OPTS_CONFFILE-Path to the variables.conf file.
      MAVEN_DEPLOY_ARTIFACT+Defines an artifact to be deployed (can be redefined for a particular project).
      MAVEN_OPTS+Sets parameters to be used to start up the JVM running Maven and can be used to supply additional global options.
      MAVEN_RUN_ARGS+Allows passing some custom arguments for the application build (can be redefined for a particular project).
      VERT_SCALING+Defines if the default Java GC agent should be enabled (true) or disabled (false).
      Shared StorageHOME_DIR-Container home directory.