環境変数の設定

環境変数は、アプリケーションを構成するために使用されます。 Zeabur では、サービスの環境変数を設定する方法が提供されています。

追加、編集、削除

サービスの変数タブで環境変数を設定でき、サービスに変数を追加することができます。

environment variables

Zeabur は、これらの環境変数を自動的にサービスに注入します。

  • <YOUR_SERVICE_NAME>_HOST:サービスのホスト。

  • PORT:サービスのポート。

  • その他の変数は、データベースの認証情報(PostgreSQL)やRedisの接続文字列などです。

そして、環境変数を手動で設定する必要はありません。

db env

変数上でマウスをホバーすると、変数の編集を開始したり、変数を削除したりすることができます。

hovering

リストビューを切り替えるには、右上のチェックボックスをクリックします。

list view

値を編集するには、編集アイコンをクリックします。

edit variable

生データで編集

一度に複数の変数を追加したい場合は、バッチ編集機能を使用できます。

生データで編集ボタンをクリックしてバッチ編集モードに入り、.env ファイルにサービスの環境変数を設定します。

edit-raw

変数の参照

Zeabur では、他の変数を参照することができます。

変数を設定する際に、テンプレート構文で他の変数を参照するだけです:

# 例えば、次のように変数を設定できます:
AUTH_INFOR=${USERNAME}:${PASSWORD}

reference

これにより、USERNAMEPASSWORD の値が自動的に結合され、AUTH_INFOR に注入されます。

スペシャル変数

“スペシャル変数” とは、Zeaburによって事前定義され、直接使用できる環境変数のことです。

参照方法

  • Zeaburの環境変数入力ボックスでは、${VARIABLE} フォーマットを使用して特別な変数を挿入します。
  • あなた自身のアプリケーションでは、環境変数を参照する方法と同じく (process.env.VARIABLE) を使用します。

変数の優先順位

サービス内の変数の展開順序は以下の通りです。

  • 現在のサービスで定義された環境変数が最初に取得されます。
  • 未定義の場合、他のサービスで公開された環境変数が取得されます。
  • 未定義の場合、スペシャル変数が取得されます。

変数

ホスト名/ポート

  • ${ZEABUR_[PORTNAME]_URL}: 特定のポートに対応するURL。
    • 例えば、 https://test.zeabur.app

    • このURLは “ドメイン” セクションで設定するものです:

      ドメインポートのカスタマイズ

    • Gitリポジトリからデプロイされたサービスの場合、 PORTNAME は常に web です。

  • ${ZEABUR_[PORTNAME]_DOMAIN}: 特定のポートに対応するドメイン。
    • 例えば、 test.zeabur.app
    • このURLは “ドメイン” セクションで設定するものです。
    • Gitリポジトリからデプロイされたサービスの場合、 PORTNAME は常に web です。
  • ${CONTAINER_HOSTNAME}: Zeaburプロジェクト内の現在のサービスのホスト名。
    • 通常、Exposeプロパティを持つ環境変数を作成します(例: ${MYSQL_HOST})。 そして、この環境変数に ${CONTAINER_HOSTNAME} の値を記入します。
    • ただし、Zeabur内の他のサービスのホスト名を参照したい場合は、Zeaburが将来リリースするDNS機能を使用することをお勧めします。
  • ${[PORTNAME]_PORT}: Prebuiltサービスで定義されたポート。
    • 例えば、 database / 3306 / TCP と設定した場合、 DATABASE_PORT3306 になります。
    • 現在のサービス内でのみ可視です。
    • Gitリポジトリからデプロイされたサービスの場合、8080 です。このポートは ${PORT} から読み取ることができます。

Zeabur情報

これらの変数は一般的に使用されることはありませんが、現在のZeaburサービス/プロジェクトの一意の識別子が必要な場合、これらの変数は非常に役立ちます。

  • ${ZEABUR_SERVICE_ID}: サービスID
  • ${ZEABUR_PROJECT_ID}: プロジェクトID
  • ${ZEABUR_ENVIRONMENT_ID}: サービス環境ID
  • ${ZEABUR_USER_ID}: このプロジェクトを作成したユーザーID

Git情報

これらの変数はGitサービスのビルドフェーズ中のみ表示されます。

  • ${ZEABUR_GIT_COMMIT_SHA}: 現在のデプロイが属するGitコミットSHA値。
  • ${ZEABUR_GIT_AUTHOR}: 現在のデプロイが属するGitコミットの著者ID。
  • ${ZEABUR_GIT_BRANCH}: 現在のデプロイが属するGitブランチ名。
  • ${ZEABUR_GIT_REPO_NAME}: 現在のデプロイが属するGitリポジトリ名。
  • ${ZEABUR_GIT_REPO_OWNER}: 現在のデプロイが属するGitリポジトリの所有者ID。
  • ${ZEABUR_GIT_COMMIT_MESSAGE}: 現在のデプロイが属するGitコミットメッセージ。

ユーティリティ

  • ${PASSWORD}: Zeaburが各サービスのために生成したランダムなパスワード。