You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Oryx provides configuration options through environment variables so that you
can apply minor adjustments and still utilize the automatic build process. The following variables are supported today:
NOTE: In Azure Web Apps, these variables are set as App Settings.
Setting name
Description
Default
Example
PRE_BUILD_COMMAND
Command to a shell script to be run before build
""
echo foo
PRE_BUILD_SCRIPT_PATH
A repo-relative path to a shell script to be run before build
""
scripts/prebuild.sh
POST_BUILD_COMMAND
Command to a shell script to be run after build
""
echo foo
POST_BUILD_SCRIPT_PATH
A repo-relative path to a shell script to be run after build
""
scripts/postbuild.sh
ENABLE_DYNAMIC_INSTALL
Enable dynamically install platform binaries if not presented inside the image
various
true, false
ORYX_SDK_STORAGE_BASE_URL
The storage base url from where oryx dynamically install sdks
Root directory path under which dynamically installed SDKs are created.
various
"/opt", "tmp/platforms/oryx"
DISABLE_CHECKERS
Disable running version checkers during the build.
false
true, false
ORYX_DISABLE_TELEMETRY
Disable Oryx command line tools from collecting any data.
false
true, false
ORYX_APP_TYPE
Type of application that the the source directory has.
""
'functions','static-sites', 'webapps'.
DISABLE_RECURSIVE_LOOKUP
Indicates if detectors should consider looking into sub-directories for files
false
true, false
ENABLE_MULTIPLATFORM_BUILD
Apply more than one toolset if repo indicates it
false
true, false
PLATFORM_NAME
Specify which platform the app is using. Possible values are: nodejs, hugo, python, dotnet, php, ruby, java.
""
"python"
PLATFORM_VERSION
Specify which platform version the app is using
""
"3.7.1"
REQUIRED_OS_PACKAGES
Indicate if it requires OS packages for Node or Python packages
false
true, false
CREATE_PACKAGE
Indicate if it should create packages for the app
false
true, false
CUSTOM_BUILD_COMMAND
Custom build command to run instead of the default build. Supported for Node.js, Python, PHP, and .NET.
""
See per-stack docs
SKIP_PLATFORM_DETECTION
Skip auto-detection of platforms. Only the platform specified via PLATFORM_NAME (or --platform) will be used. Requires PLATFORM_NAME to be set.
false
true, false
Setting name for .NET apps
Description
Default
Example
DOTNET_VERSION
Specify which .NET version the app is using
""
"5.0.100"
DOTNET_DEFAULT_VERSION
Specify which .NET version the app defaults to if none detected
""
"5.0.100"
DISABLE_DOTNETCORE_BUILD
Do not apply .NET Core build even if repo indicates it
false
true, false
PROJECT
repo-relative path to directory with .csproj file for build
""
"src/WebApp1/WebApp1.csproj"
MSBUILD_CONFIGURATION
Configuration (Debug or Release) that is used to build a .NET Core project
Release
Debug, Release
When CUSTOM_BUILD_COMMAND is set for .NET apps, it replaces the default dotnet restore and dotnet publish commands. The custom command must output to $DESTINATION_DIR (e.g., dotnet publish -o $DESTINATION_DIR).
Setting name for Nodejs apps
Description
Default
Example
NODE_VERSION
Specify which Node version the app is using
""
"14.15.0"
NODE_DEFAULT_VERSION
Specify which Node version the app defaults to if none detected
""
"14.15.0"
DISABLE_NODEJS_BUILD
Do not apply Node.js build even if repo indicates it
false
true, false
RUN_BUILD_COMMAND
Custom run build command to be run after package install commands
""
"npm run build"
ENABLE_NODE_MONOREPO_BUILD
Apply node monorepo build if repo indicates it
false
true, false
COMPRESS_DESTINATION_DIR
Indicates if the entire output directory needs to be compressed.
""
false
PRUNE_DEV_DEPENDENCIES
Only the prod dependencies are copied to the output for Node apps.
Specify the yarn timeout config with a delay in milliseconds.
""
"600000"
Setting name for Python apps
Description
Default
Example
PYTHON_VERSION
Specify which Python version the app is using
""
"2.7.1"
PYTHON_DEFAULT_VERSION
Specify which Python version the app defaults to if none detected
""
"2.7.1"
DISABLE_PYTHON_BUILD
Do not apply Python build even if repo indicates it
false
true, false
VIRTUALENV_NAME
Specify Python virtual environment name
""
"antenv2.7"
DISABLE_COLLECTSTATIC
Disable running collectstatic when building Django apps.
false
true, false
CUSTOM_REQUIREMENTSTXT_PATH
Specify where a requirements.txt is locating. If not set, default is at root of the repo.
""
"subdir/requirements.txt"
PYTHON_ENABLE_GUNICORN_MULTIWORKERS
Enable Gunicorn multi worker multi thread config.
false
true, false
PYTHON_GUNICORN_CUSTOM_WORKER_NUM
Only works when PYTHON\_ENABLE\_GUNICORN\_MULTIWORKERS is set to true. Specify Gunicorn multi worker number. If not set, default is (2 * CPU core num) + 1
(2 * CPU core num) + 1, 1
"2"
PYTHON_GUNICORN_CUSTOM_THREAD_NUM
Only works when PYTHON\_ENABLE\_GUNICORN\_MULTIWORKERS is set to true. Specify Gunicorn multi thread number. If not set, default is single thread.
""
"4"
ORYX_DISABLE_PIP_UPGRADE
Remove the --upgrade flag from the pip install command when targeting a specific package installation directory.
false
true, false
NGINX_CONF_FILE
Specify a customized configuration file to modify nginx.conf file
""
"newconfigfile.conf"
When CUSTOM_BUILD_COMMAND is set for Python apps, it replaces the default dependency installation (pip install, poetry install, uv sync) but preserves virtual environment setup
Setting name for Php apps
Description
Default
Example
PHP_VERSION
Specify which Php version the app is using
""
"7.4"
PHP_DEFAULT_VERSION
Specify which Php version the app defaults to if none detected
""
"7.4"
PHP_COMPOSER_VERSION
Specify which Php composer version the app is using
""
"7.2.15"
PHP__COMPOSER_DEFAULT_VERSION
Specify which Php composer version the app defaults to if none detected
""
"7.2.15"
DISABLE_PHP_BUILD
Do not apply Php build even if repo indicates it
false
true, false
FPM_MAX_CHILDREN
The maximum number of child processes to be created
The desired maximum number of idle server processes
3
"15"
FPM_MIN_SPARE_SERVERS
The desired minimum number of idle server processes
1
"5"
When CUSTOM_BUILD_COMMAND is set for PHP apps, it replaces the default composer install command.
Setting name for Java apps
Description
Default
Example
JAVA_VERSION
Specify which Java version the app is using
""
"14.0.2"
JAVA_DEFAULT_VERSION
Specify which Java version the app defaults to if none detected
""
"14.0.2"
MAVEN_VERSION
Specify which Maven version the app is using
""
"3.6.3"
MAVEN_DEFAULT_VERSION
Specify which Maven version the app defaults to if none detected
""
"3.6.3"
DISABLE_JAVA__BUILD
Do not apply Java build even if repo indicates it
false
true, false
Setting name for Ruby apps
Description
Default
Example
RUBY_VERSION
Specify which Ruby version the app is using
""
"2.7.1"
RUBY_DEFAULT_VERSION
Specify which Ruby version the app defaults to if none detected
""
"2.7.1"
DISABLE_RUBY__BUILD
Do not apply Ruby build even if repo indicates it
false
true, false
Setting name for Hugo apps
Description
Default
Example
HUGO_VERSION
Specify which Hugo version the app is using
""
"0.76.3"
HUGO_DEFAULT_VERSION
Specify which Hugo version the app defaults to if none detected
""
"0.76.3"
DISABLE_HUGO_BUILD
Do not apply Hugo build even if repo indicates it
false
true, false
Setting name for Golang apps
Description
Default
Example
GOLANG_VERSION
Specify which Golang version the app is using
""
"0.76.3"
GOLANG_DEFAULT_VERSION
Specify which Golang version the app defaults to if none detected
""
"0.76.3"
DISABLE_GOLANG_BUILD
Do not apply Golang build even if repo indicates it
false
true, false
Oryx generated manifest file
oryx-manifest.toml is the orxy-generated manifest file involved in 2 stages (build & run). Full flow explanation by platforms.
First the build stage will build the application and autogenerate oryx-manifest.toml.
Secondly oryx-manifest.toml is used in the runtime to determine how to run the application. The following are fields supported today inside oryx-manifest.toml:
Node fields
Description
Example
NodeVersion
Platform's version that Oryx will use to run the app
"14.15.1"
OutputDirPath
Output is in separate volume due to rsync errors
".nuxt"
OperationId
Used to correlate with logs. Track telemetries whether build is passed or failed.