環境変数をコードの外に

トークン、パスワード、接続文字列を各アプリケーションの設定に保存できます。値は画面上でマスクされ、.env は貼り付けるだけで取り込め、再起動すれば再アップロードなしで変更が反映されます。

アプリケーションごとに最大 256 個の変数、すべてのプランで利用できます。CLI や API からも操作できます。

仕組み

変数はアップロードするファイルではなく、アプリケーションに属します。変更すると次の起動から反映されます。

  1. 1

    追加または貼り付け

    キーと値を入力するか、キーの欄に KEY=値 の行を貼り付けるか、.env ファイルをインポートします。

  2. 2

    保存

    1 回の保存でリスト全体が送信されます。シェルが分割や展開をしてしまう値は、引用符で囲んで送られます。

  3. 3

    再起動

    保存するとすぐに、ダッシュボードが再起動を提案します。アプリケーションは再アップロードなしで新しい値を使って起動します。

シークレットは画面上でも隠れたまま

アプリケーションの設定にあるエディターは、表示を求めるまですべての値をマスクし、関連するキーをまとめて表示します。

  • マスクされた値

    値はドットで表示されます。目のアイコンで表示、表示せずにコピー、クリックで編集ができます。

    • 編集は 1 件ずつ確定またはキャンセル
    • Shift を押したままで行をワンクリック削除
  • プレフィックスでグループ化

    DB_HOST と DB_USER のように同じプレフィックスを持つキーは、アルファベット順にまとめて表示されます。

    • 15 個を超えるとキーで検索可能
    • 残り枠が少なくなると警告を表示
  • Square Cloud の既定値

    HOST、PORT、SQUARECLOUD_APP_ID はすべてのアプリケーションに付属し、読み取り専用で用途の説明とともに表示されます。

    • HTTP 用の HOST 0.0.0.0 と PORT 80
    • コードから読めるアプリケーション自身の ID
  • アプリケーションごとに最大 256 個の変数
  • キーは最大 1,024 文字、値は最大 4,096 文字
  • ワークスペースでエディターを開けるのは管理者のみ
  • すべてのプランに含まれます

手元の .env をそのまま持ち込む

.env ファイルをインポートすると、何かが変わる前に内容を確認できます。新しいキー、置き換えられるキー、取り込めない行が、それぞれ行番号と理由付きで表示されます。

  • 複数行をまとめて貼り付け

    キーの欄に KEY=値 の行を複数貼り付けると、それぞれが 1 行になります。既存のキーには貼り付けた値が入ります。

    • コメントと export プレフィックスにも対応
    • 入力済みの行に貼り付けてもその変数は残ります
  • デプロイ時にも設定

    デプロイフォームでも変数を設定できます。プロジェクトに .env.example があれば、そのキーを入力用に提案します。

    • .env.sample、.env.template、.env.dist も読み取り
    • HOST と PORT は Square Cloud が設定
  • エクスポートまたはコピー

    すべての変数を KEY=VALUE 形式のテキストファイルでダウンロード、またはまとめてコピーして、別のアプリケーションに移せます。

    • 値は引用符付きで、そのまま読み込める形式
    • キーのない行は含まれません

値は入力したとおりにコードへ届く

アプリケーションは変数をシェル経由で読み込むため、空白や $、; があると値が途中で切れたり変わったりします。エディターがそうした値を引用符で囲みます。

  • 必要な値だけ引用符で囲む

    空白や $、&、;、|、) などを含む値は、確定、インポート、保存のときにシングルクォートで囲まれます。

  • 危険な引用符は拒否

    $ を含む値をダブルクォートで囲むとシェルに展開されるため、エディターはそれを外すかシングルクォートを使うよう求めます。

  • キーは常に有効

    キーの空白はアンダースコアに変わり、同じキーは重複できません。インポートでは、キーは英字か _ で始まる必要があります。

ターミナルと API から

同じ変数に CLI、GitHub Action、VS Code 拡張機能、REST API からアクセスできます。

Square Cloud CLI
squarecloud app env set DB_HOST=10.0.0.4 "GREETING=hi there"squarecloud app env set --from-file .envsquarecloud app env list

バージョン 3.1.1 から、CLI は空白や記号を含む値を自動で引用符で囲みます。CLI でできることを見る。

REST API
curl -X POST "https://api.squarecloud.app/v2/apps/$APP_ID/envs" \  -H "Authorization: $SQUARECLOUD_API_KEY" \  -H "Content-Type: application/json" \  -d '{"envs": {"NODE_ENV": "production", "LOG_LEVEL": "info"}}'curl -X POST "https://api.squarecloud.app/v2/apps/$APP_ID/restart" \  -H "Authorization: $SQUARECLOUD_API_KEY"

値はシェルが読むべき形で送ってください。空白や記号を含む場合はシングルクォートで囲みます。再起動で反映されます。

  • GET
    /v2/apps/{appId}/envs

    アプリケーションの環境変数を一覧表示します。

  • POST
    /v2/apps/{appId}/envs

    変数を追加、または既存の変数を変更します。ほかの変数はそのままです。

  • PUT
    /v2/apps/{appId}/envs

    すべての変数を送信した内容に置き換えます。

  • DELETE
    /v2/apps/{appId}/envs

    指定した変数を削除します。

  • API キーは envs:read や envs:write だけに、また 1 つのアプリケーションだけに制限できます。
API リファレンス

環境変数に関するよくある質問

Square Cloud の環境変数とは何ですか?

アプリケーションの設定に保存され、起動時に読み込まれるキーと値のペアです。トークン、パスワード、接続文字列をコードやアップロードするファイルの外に置いておけます。各アプリケーションは最大 256 個の独自の変数を持てます。

変数を変更したら、もう一度デプロイが必要ですか?

いいえ。変更を保存してアプリケーションを再起動すれば、再アップロードなしで新しい値で起動します。再起動までは、現在のプロセスが起動時の値を使い続けます。

Square Cloud が用意する変数は何ですか?

HOST(0.0.0.0)、PORT(80)、そしてアプリケーション自身の ID である SQUARECLOUD_APP_ID です。エディターの上部に読み取り専用で表示されます。このホストとポートで待ち受ける Web アプリケーションは HTTP でアクセスできます。

空白、引用符、$ を含む値はどう保存しますか?

そのまま入力してください。ダッシュボードと CLI がそうした値をシングルクォートで囲み、シェルが変更せずに読み込めるようにします。API の場合は、あらかじめシングルクォートで囲んで送ってください。$ を含む値をダブルクォートで囲むのは避けてください。シェルに展開されます。

プロジェクトに .env ファイルを残しておけますか?

残せますが、ダッシュボードにインポートするのがおすすめです。そこで設定した変数は、そのファイルの値より優先されます。ファイルをアップロードから除外するには squarecloud.ignore に記載してください。CLI と VS Code 拡張機能の両方がこのファイルを読みます。

値は誰が見られますか?

個人のアカウントではあなただけです。ワークスペースでは、管理者権限を持つメンバーだけがエディターを開けます。API キーで読み取るには envs:read スコープかフルアクセスが必要です。

1 つのアプリケーションに変数はいくつまで設定できますか?

最大 256 個で、キーは最大 1,024 文字、値は最大 4,096 文字です。残り枠が少なくなるとエディターが警告し、上限を超えると保存できません。

静的サイトに環境変数はありますか?

ありません。静的サイトはファイルとして配信され、変数を読むプロセスがないため、設定に変数のタブはありません。環境変数は Node.js、Python、Java、Go、Rust などのランタイムを持つアプリケーション向けです。

プロジェクトのあらゆる段階に対応するプラン

小さく始めて、必要なときにスケール。縛り契約はありません。

5点中4.9点 · Google + Trustpilotで402件のレビューTrustpilot

認証を取得したパートナーデータセンターでホスティング
Tier 3ISO 27001SOC 2 Type II常時稼働のDDoS保護
インフラストラクチャを見る

プロジェクトをスケールさせる準備はできましたか?

Square Cloud でプロジェクトをホスティングしてきた 50 万人以上の開発者の仲間入りをしましょう。

  • 予測可能な料金
  • 請求のサプライズなし
  • 数秒でデプロイ
  • 高可用性
  • 安定したスケール
  • 自動再起動
  • SSLとセキュリティを標準搭載
  • 分離されたコンテナ