Environment variables in Mage

Environment variables may be set in your Docker container to configure Mage settings. If you’re running Mage using pip or conda, your local machine’s environment variables are accessible within the running Mage app.

Environment variables are different from runtime variables or secrets.

If you’re running Mage using Docker, you must add the following command line flags:

-e SOME_VARIABLE_NAME_1=secret_value_1 -e SOME_VARIABLE_NAME_2=secret_value_2

The command to run Mage using Docker could look like this:

docker run -it -p 6789:6789 -v $(pwd):/home/src \
    -e SOME_VARIABLE_NAME_1=secret_value_1 -e SOME_VARIABLE_NAME_2=secret_value_2 \
    mageai/mageai /app/run_app.sh mage start [project_name]

Setting the prefix for Mage URL

You may need to add a prefix to the Mage url. You can configure the Mage server to start at a prefix to the url by setting the MAGE_BASE_PATH environment variable.

Make sure to set the base path without the leading slash. For example, if you want to start Mage at http://localhost:6789/base/url/path, you would configure your environment variable like this:

export MAGE_BASE_PATH=base/url/path

You can also configure the base path separately for client requests and backend routes by setting the MAGE_REQUESTS_BASE_PATH and MAGE_ROUTES_BASE_PATH environment variables respectively.

MAGE_BASE_PATHSet base path for the entire app.
MAGE_REQUESTS_BASE_PATHSet base path for frontend requests and urls, defaults to value of MAGE_BASE_PATH
MAGE_ROUTES_BASE_PATHSet base path for backend routes, defaults to value of MAGE_BASE_PATH

Default variables

These are the environment variables used in Mage.

Variable nameDescriptionExample values
ACTIVE_DIRECTORY_DIRECTORY_IDSet this value to your organization’s tenant id to enable signing in with Microsoft account.More info
AUTHENTICATION_MODESet the authentication mode in Mage. Omitting the variable will default to basic password authentication.ldap
DEBUGTurn on “debug” mode. Mage will output more logs that could be useful for debugging issues.1
DEFAULT_EXECUTOR_TYPEThe default executor type to run blocksSee enum types here
DISABLE_NOTEBOOK_EDIT_ACCESSSetting this variable will disable edit access based on the value. More information1
DISABLE_TERMINALSetting this variable will disable access to the terminal.1
ENVSet the environment of the Mage app. You can use different code or configurations in different environments.dev, staging, production/prod
GIT_REPO_LINKMore informationSee link
GIT_REPO_PATHMore informationSee link
GIT_USERNAMEMore informationSee link
GIT_EMAILMore informationSee link
GIT_AUTH_TYPEMore informationSee link
GIT_BRANCHMore informationSee link
GIT_SYNC_ON_PIPELINE_RUNMore informationSee link
GIT_SYNC_ON_STARTMore informationSee link
GIT_SSH_PUBLIC_KEYMore informationSee link
GIT_SSH_PRIVATE_KEYMore informationSee link
GIT_ACCESS_TOKENMore informationSee link
HIDE_ENV_VAR_VALUESFilter out environment variables in notebook output.1
JWT_SECRETModify the json web token secret used for encoding and decoding access tokens. Defaults to materia.your_jwt_secret
JWT_DOWNLOAD_SECRETModify the json web token secret used for encoding and decoding download tokens. Defaults to randomly generated string value. Use an explicit value in horizontally scalable deployments, e.g.: kubernetes, cloud deploymentsyour_jwt_secret
LDAP_ADMIN_USERNAMEMore informationSee link
LDAP_SERVERMore informationSee link
LDAP_BIND_DNMore informationSee link
LDAP_BIND_PASSWORDMore informationSee link
LDAP_BASE_DNMore informationSee link
LDAP_AUTHENTICATION_FILTERMore informationSee link
LDAP_AUTHORIZATION_FILTERMore informationSee link
LDAP_GROUP_FIELDMore informationSee link
LDAP_ROLES_MAPPINGMore informationSee link
LDAP_DEFAULT_ACCESSMore informationSee link
MAGE_ACCESS_TOKEN_EXPIRY_TIMEMore informationSee link
MAGE_BASE_PATHThe base path or prefix of the Mage server url. More informationbase/path
MAGE_REQUESTS_BASE_PATHMore informationbase/path
MAGE_ROUTESBASE_PATHMore informationbase/path
MAGE_CACHE_DIRECTORYThe directory Mage uses for storing and retrieving temporary data used in the UI./root/.mage_data/default_repo/.cache
MAGE_DATABASE_CONNECTION_URLSpecify the database connection url for orchestration DB. Defaults to local sqlite db.Example
MAGE_PUBLIC_HOSTThe public host url that can be used to access the Mage app. This value will be used in emails or other notifications.http://localhost:6789
MAX_PRINT_OUTPUT_LINESThe max number of stdout lines, such as from print statements, included in a message from the websocket server. Defaults to 1000.100
REQUIRE_USER_AUTHENTICATIONEnable user authentication in Mage. More information1
SERVER_VERBOSITYMore informationSee link
SHELL_COMMANDSet shell command to use for the Mage terminal. Default command is bash for macOS/Unix and cmd for Windows.bash, cmd, …
ULIMIT_NO_FILEOverride the maximum number of open files allowed in Mage processes.8192
USER_CODE_PATHSet this path to be /home/src/{your_project_name} so that Mage starts your project and installs the packages in requirements.txt when starting the container./home/src/mage_project