You can define environment variables for your resources, and they will be available in your application.

Preview Deployments could have different environment variables, so you can test your application as a staging environment for example.

Build Time Variables

If you would like to set environment variables for the build process, you can do by setting Build Variable on the UI.

Shared Variables

You could have 3 types of shared variables:

  1. Team Based
  2. Project Based
  3. Environment Based (production, staging, etc.)

You can set shared variables on their respective pages.

Then you can use these variables anywhere. For example: You defined NODE_ENV to production.

Team Based

You can set them on the Team page and use it with {{team.NODE_ENV}}.

Project Based

You can set them on the Projects page, under the gear icon and use it with {{project.NODE_ENV}}.

Environment Based

You can set them on the Environments page (select a Project), under the gear icon and use it with {{environment.NODE_ENV}}.

Predefined Variables

Coolify predefines some variables for you, so you can use them in your application. All you need to do is to add an environment variable like this to your application.

# For example, you can use this variable in your application
# You will have the commit hash of the source code in your application as an environment variable in MY_VARIABLE


Fully qualified domain name(s) of the application.


URL(s) of the application.


Branch name of the source code.


Commit hash of the source code.


If not set: it is set to the Port Exposes’s first port.


If not set: it is set to