Environment Variables

Helion Stackato exposes a number of predefined environment variables during runtime (including hook processing, cron jobs and ssh commands).

You can set your own environment variables:


To see a complete list of environment variables in a Helion Stackato application container, deploy the node-env sample.


Contains an access URL for a database service. If more than one type of database is present, DATABASE_URL will not be available. Instead, use the Database Specific URL variables below. Example:

Identifies the working directory assigned to a particular user on login. In a Helion Stackato application container, this is generally set to /home/stackato/app/ by default.
A variable recognized by many web applications to direct them to a proxy HTTP server.
Location of and credentials for the bound Memcached service, if there is (only) one.
The amount of memory allocated to the application container.
Location of and credentials for the bound MongoDB service, if there is (only) one.
Location of and credentials for the bound MySQL service, if there is (only) one.
A list of directories, separated by :, which are to be searched for the names of executable files to be interpreted as commands.

Custom/alternate PIP repo location. For example:

  PIP_OPTS: "--extra-index-url=http://company.com/inhouse-pypi-mirror"
Helion Stackato alternative for VCAP_APP_PORT.
Location of and credentials for the bound PostgreSQL service, if there is (only) one.

This variable contains the default start command that would be used when manifest.yml does not override it. It is provided so that users can specify a wrapper around the default command. For example:

  web: newrelic_wrapper $PROCESSES_WEB


PROCESSES_WEB may be undefined when Helion Stackato cannot determine the default command (for example, because the app uses a non-standard main application file).


Custom/alternate PyPM repo location. Repo mirroring is sort of undocumented feature. Example:

  PYPM_OPTS: "-R http://pypm-free.activestate.com/2.7/linux-x86_64/"
Location of and credentials for the bound RabbitMQ service, if there is (only) one.
Location of and credentials for the bound Redis service, if there is (only) one.


Internal use, subject to change.

Contains a list of all environment variables set with stackato env-add or in manifest.yml.

Contains the application name as specified during application push (or in manifest.yml). Available during staging as well as in the application instance.

Contains the same value as STACKATO_APP_NAME transformed to uppercase, with dashes replaced by underscores. For example if STACKATO_APP_NAME is php-info, then STACKATO_APP_NAME_UPCASE will be PHP_INFO.

This makes it possible to access the environment variables for harbor and filesystem services.


This is the root directory from the Helion Stackato point of view. It contains app specific HOME directory (app/), the log file directory (logs/) and various scripts.

The HOME environment variable actually points to the app directory, which commonly looks like the directory uploaded by the client. This is where manifest.yml and all the application files are located.

This contains the root directory where the user can access. The document-root must always be specified relative to $HOME (/home/stackato/app).

If the app uses a single filesystem service, then the local mount point is stored in this variable.

If there is more than one filesystem service, STACKATO_FILESYSTEM is not available. Instead, a custom environment variable STACKATO_FILESYSTEM_* will be created based on the name of each filesystem service (with hyphens replaced by underscores).

For example, if your manifest.yml file configures the following services:

  my-data: filesystem
  plugins: filesystem

Two environment variables would be created: STACKATO_FILESYSTEM_MY_DATA and STACKATO_FILESYSTEM_PLUGINS.



This variable is deprecated. It can be used only with Stackato 2.x.

Can be set in the local shell to specify the group for the stackato client. When set, the stackato group command is ignored until the variable is explicitly unset. If empty, the client sets the group to none. Can be overridden with the --group option.

A colon-separated list of log files to be included in the the application log stream. You can add up to five additional files to the default list by modifying this variable. See Adding Files to the Stream.
Contains connection details and credentials for services bound to the application. For filesystem services, it contains the local mount point. See STACKATO_SERVICES.
Can be set in the local shell to specify the API endpoint target for the stackato client. When set, the stackato target command is ignored until the variable is explicitly unset. Can be overridden with the --target option.

Set by the Perl and Python frameworks only. It contains the default UWSGI start command to run the application via uwsgi. It is provided in case the user wants to add additional uwsgi options in manifest.yml:

  web: $STACKATO_UWSGI --another-uwsgi-option
This variable contains the IP address of the host that the application is running on.
This variable contains the port that the application will be exposed on.
This variable contains all relevant application details for the Helion Stackato Application (instance ID, application name, application URIs, users, groups, and so on).
Contains connection details, credentials, and meta data for services bound to the application. See VCAP_SERVICES.

Staging Variables

The following environment variables are available during application staging, and can be used in buildpacks or staging hooks:


Service instance variables (for example, STACKATO_SERVICES and VCAP_SERVICES) can change between staging and running. Do not save values from these variables to config files during staging as the hard-coded values may no longer be applicable after staging.