> ## Documentation Index
> Fetch the complete documentation index at: https://coollabstechnologiesbt.mintlify.site/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Environment Variables

> A guide how to use environment variables in Coolify.

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 <span v-pre>`{{team.NODE_ENV}}`</span>.

### Project Based

You can set them on the `Projects` page, under the gear icon and use it with <span v-pre>`{{project.NODE_ENV}}`</span>.

### Environment Based

You can set them on the `Environments` page (select a `Project`), under the gear icon and use it with <span v-pre>`{{environment.NODE_ENV}}`</span>.

## 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.

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

### `COOLIFY_FQDN`

Fully qualified domain name(s) of the application.

### `COOLIFY_URL`

URL(s) of the application.

### `COOLIFY_BRANCH`

Branch name of the source code.

### `COOLIFY_CONTAINER_NAME`

Name of the container generated by Coolify.

### `SOURCE_COMMIT`

Commit hash of the source code.

### `PORT`

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

### `HOST`

If not set: it is set to `0.0.0.0`.
