# Deploy script and release variables

> Reference of every FALAK_ variable for deploy scripts, release .env files, supervised processes and Compose projects, plus the deploy script macros.

Source: https://falak.sh/docs/reference/deploy-script-variables/

## Macros

| Macro | Replaced by |
|---|---|
| `$FALAK_FETCH` | Download and unpack the release, link shared paths |
| `$FALAK_ACTIVATE` | Switch `current` (barrier across servers) |
| `$FALAK_RESTART_PROCS` | Restart the site's processes |

## Deploy script variables

| Variable | Example | Available |
|---|---|---|
| `FALAK_SITE` | `shop` | always |
| `FALAK_SITE_ID` | `01K8…` | always |
| `FALAK_SITE_ROOT` | `/srv/falak/sites/shop` | always |
| `FALAK_SHARED_DIR` | `/srv/falak/sites/shop/shared` | always |
| `FALAK_CURRENT_DIR` | `/srv/falak/sites/shop/current` | always |
| `FALAK_RELEASE_DIR` | `/srv/falak/sites/shop/releases/01K8…` | always |
| `FALAK_RELEASE_ID` | `01K8…` | always |
| `FALAK_DEPLOYMENT_ID` | `01K8…` | always |
| `FALAK_TRIGGER` | `push`, `manual`, `api`, `rollback` | always (deploy hooks report `api`) |
| `FALAK_COMMIT` | `a1b2c3d…` | when known |
| `FALAK_COMMIT_AUTHOR`, `FALAK_AUTHOR` | `Ada` | when known |
| `FALAK_COMMIT_MESSAGE` | `Fix checkout` (first line) | when known |
| `FALAK_BRANCH` | `main` | when set |
| `FALAK_REPOSITORY` | `acme/shop` | when set |
| `FALAK_PHP` | `php8.4` | PHP sites |
| `FALAK_PHP_BINARY` | `php8.4` | PHP sites |
| `FALAK_PHP_VERSION` | `8.4` | when set |
| `FALAK_NODE_VERSION` | `22` | when set |
| `FALAK_SERVER_ID` | `01K8…` | always |
| `FALAK_ROLE` | `leader` / `member` | always |
| `FALAK_IS_LEADER` | `1` / `0` | always |
| `FALAK_WEB_DIR` | `public` | when set |
| `FALAK_VAR_` | | extra deploy hook parameters |
| exposed site variables | | variables marked **Expose to deploy script** |

Ids are upper-case ULIDs.

## Release environment (`.env` and processes)

| Variable | Where |
|---|---|
| Your site variables (references resolved) | every release |
| `FALAK_SITE_ID`, `FALAK_SERVER_ID`, `FALAK_DEPLOYMENT_ID`, `FALAK_RELEASE_ID` | every release, every process, Compose `.env` |
| `FALAK_SITE` | processes |
| `PORT`, `HOST=127.0.0.1`, `NODE_ENV=production` (unless set), `PATH` | Node, Bun, Deno web processes |
| `PORT` | Docker containers |

## Build-time variables

| Variable | Effect |
|---|---|
| `FALAK_INSTALL_COMMAND` | Replaces the detected install step (`sh -c`) |
| `FALAK_BUILD_COMMAND` | Replaces the detected build step (`sh -c`) |
| `VITE_*`, `NEXT_PUBLIC_*`, `NUXT_PUBLIC_*`, `PUBLIC_*`, `REACT_APP_*` | Passed to builds |
