DeploySpecial Variables

Special Variables

“Special Variables” are environment variables that are predefined by Zeabur and can be directly used. They can be used in Git and Prebuilt services.

Referencing

  • In the environment variable input box in Zeabur: Use the ${VARIABLE} format to insert special variables.
  • In your own application: Use the same method as referencing an environment variables (process.env.VARIABLE).

Variable Priority Order

The order of expansion for variables within a service is as follows:

  • Environment variables defined by the current service will be obtained first.
  • If not defined, environment variables exposed by other services will be obtained.
  • If not defined, special variables will be obtained.

Variables

Hostname/Port

  • ${ZEABUR_[PORTNAME]_URL}: The URL corresponding to a specific port.
    • For example, https://test.zeabur.app.

    • This URL is that one you set in the “Domain” section:

      Domain Port Customization

    • For services deployed from Git repositories, the PORTNAME is always web.

  • ${ZEABUR_[PORTNAME]_DOMAIN}: The domain corresponding to a specific port.
    • For example, test.zeabur.app.
    • This URL is that one you set in the “Domain” section.
    • For services deployed from Git repositories, the PORTNAME is always web.
  • ${CONTAINER_HOSTNAME}: The hostname of the current service in the Zeabur project.
    • Usually, we create an environment variable with the Expose property (e.g., ${MYSQL_HOST}), and then fill in the value of ${CONTAINER_HOSTNAME} in this environment variable.
    • However, if you want to reference the hostname of another service within Zeabur, we recommend using the DNS feature that Zeabur will release in the future.
  • ${[PORTNAME]_PORT}: The port defined in the Prebuilt service.
    • For example, if you set database / 3306 / TCP, then DATABASE_PORT will be 3306.
    • Only visible within the current service.
    • For services deployed from Git repositories, it is 8080. You can read this port from ${PORT}.

Zeabur Information

These variables are not commonly used, but if you need the unique identifiers of the current Zeabur service/project, these variables will be very helpful.

  • ${ZEABUR_SERVICE_ID}: Service ID
  • ${ZEABUR_PROJECT_ID}: Project ID
  • ${ZEABUR_ENVIRONMENT_ID}: Service environment ID
  • ${ZEABUR_USER_ID}: User ID who created this project

Git Information

These variables will only appear during the build phase of the Git service.

  • ${ZEABUR_GIT_COMMIT_SHA}: The Git commit SHA value that the current deployment belongs to.
  • ${ZEABUR_GIT_AUTHOR}: The Git commit author ID that the current deployment belongs to.
  • ${ZEABUR_GIT_BRANCH}: The Git branch name that the current deployment belongs to.
  • ${ZEABUR_GIT_REPO_NAME}: The Git repository name that the current deployment belongs to.
  • ${ZEABUR_GIT_REPO_OWNER}: The Git repository owner ID that the current deployment belongs to.
  • ${ZEABUR_GIT_COMMIT_MESSAGE}: The Git commit message that the current deployment belongs to.

Utilities

  • ${PASSWORD}: A random password generated by Zeabur for each service.