Skip to main content

設定ファイルとは?

設定ファイルは、アプリケーションの実行方法を Square Cloud に伝えるファイルです。起動するファイル、確保するメモリ量、使用するランタイムのバージョン、そして Web サイトの場合は公開するサブドメインを指定します。1 行に 1 つの KEY=VALUE ペアを書く、プレーンテキストのファイルです。
squarecloud.app

設定ファイルの作成

プロジェクトのルートに squarecloud.app または squarecloud.config という名前のファイルを作成します。どちらの名前でも同じように動作します。zip をアップロードする場合、このファイルはサブフォルダの中ではなく zip の最上位に置く必要があります。そうでない場合、デプロイは MISSING_CONFIG で失敗します。
macOS では、squarecloud.config という名前をおすすめします。
VS Code 拡張機能を使うと、以下のすべてのキーが補完され、無効な値には入力中に下線が引かれます。

設定パラメータ

MEMORY、VERSION、DISPLAY_NAME は常に必須です。MAIN は、RUNTIME を設定しない限り必須です。 編集可能なパラメータは、デプロイ後にダッシュボードで変更できます。編集できないパラメータを変更するには、アプリケーションを再度アップロードする必要があります。

MAIN

アプリケーションを起動するファイルです。プロジェクトのルートからの相対パスで指定します。
  • ファイルの拡張子でランタイムが決まります。.js は Node.js、.ts は TypeScript、.py は Python で実行されます。
  • ファイルはアップロードに含まれていて、空でない必要があります。
  • 32 文字以内で、使える文字は英字、数字、_、.、/、- です。スペースは使えません。
MAIN がない場合(RUNTIME もない場合)は MISSING_MAIN で失敗します。ファイルが存在しない、拡張子がない、または上記のルールに違反している場合は INVALID_MAIN で失敗します。

MEMORY

アプリケーションに確保する RAM(メガバイト単位)です。アプリケーションの vCPU と帯域幅もこの値で決まります。
値はプロジェクトの種類ごとの最小値以上で、プランの空き RAM 以下である必要があります。そうでない場合、デプロイは INSUFFICIENT_MEMORY で失敗します。

VERSION

ランタイムのバージョンで、recommended または latest を指定します。正確なバージョン番号を含め、それ以外の値を指定するとデプロイは INVALID_VERSION で失敗します。
最新のリリースにしかない機能が必要な場合を除き、recommended を使ってください。各値に対応するバージョンは、ランタイムのバージョン表に記載しています。

DISPLAY_NAME

ダッシュボード、CLI、API に表示される名前です。
32 文字以内で、使える文字はアクセントのない英字、数字、スペース、-、_ です。アクセント付きの文字や絵文字など、それ以外の文字を使うと INVALID_DISPLAY_NAME で失敗します。日本語の文字も使えません。

DESCRIPTION

アプリケーションの短い説明で、280 文字以内です(超えると INVALID_DESCRIPTION)。

AUTORESTART

クラッシュ後にアプリケーションを自動的に再起動します。true または false を指定でき、デフォルトは false です。ボットなど、常にオンラインである必要があるものでは有効にしてください。
自動再起動は、次の条件をすべて満たす場合にのみ行われます。
  • アプリケーションがステータス 1 で終了した。Node.js や Python で未処理のエラーが起きたときの一般的な終了コードです。
  • 少なくとも 60 秒間実行されていた。起動直後にクラッシュするアプリがループで再起動されることはありません。
  • 直近 1 時間以内に自動再起動されていない。
  • 再起動では解決できないエラーがログに出ていない。対象は、無効なボットトークン、モジュールの不足、構文エラーや TypeScript の型エラー、依存関係のインストールの失敗です。
再起動によって一時的なエラーの間もアプリはオンラインに保たれますが、根本的なバグはコードで修正する必要があります。ヘルプセンターの自動再起動の記事もあわせて参照してください。

SUBDOMAIN

アプリケーションを https://<subdomain>.squareweb.app で Web サイトとして公開します。
  • 63 文字以内で、使える文字は英字、数字、ハイフンです。ハイフンで始めたり終えたりすることはできません。名前は小文字で保存されます。
  • すでに使われている名前、予約済みの名前(admin や api など)、無効な名前は INVALID_SUBDOMAIN で失敗します。
  • Web サイトにはボットより多くの RAM が必要です。最小 RAM を参照してください。
  • サーバーはポート 80、ホスト 0.0.0.0 で待ち受ける必要があります(Web サイトが表示されないを参照)。
アプリケーションを Web サイトにするかどうかは、最初のアップロードの時点で決めてください。Web サイトでは後からサブドメインを変更できますが、削除はできません(CANNOT_SET_SUBDOMAIN)。SUBDOMAIN なしでデプロイしたアプリケーションは Web サイトにできないため、SUBDOMAIN を設定して新しいアプリケーションとして再度アップロードしてください。
独自ドメインでサイトを公開するには、ヘルプセンターの独自ドメインの設定方法を参照してください。

RUNTIME

MAIN の拡張子から判断する代わりに、ランタイムを明示的に指定します。不明な値は INVALID_RUNTIME で失敗します。
RUNTIME を設定した場合は MAIN を省略できます。その場合は START も設定してください。ほとんどのランタイムは MAIN のファイルを実行してアプリケーションを起動するためです。

START

カスタム起動コマンドです。MAIN のファイルを実行するデフォルトのコマンドを置き換えます。
  • 256 文字以内です(超えると INVALID_START)。
  • コマンドの実行前に、依存関係は通常どおりインストールされます。
  • コマンドは起動のたびにファイルから読み込まれるため、ダッシュボードで squarecloud.app を編集して再起動すれば変更できます。
プロジェクトに存在するスクリプトだけを呼び出してください。たとえば START=npm run build && npm run start は、package.json に build スクリプトがない Express アプリでは失敗します。デフォルトのコマンドで足りる場合は、START を省略してください。

ID

このキーは自分で書く必要はありません。squarecloud upload の後、Square Cloud CLI がファイルに ID=<app ID> を追加し、squarecloud commit などの以降のコマンドが対象のアプリケーションを判断できるようにします。Square Cloud はデプロイ時にこのキーを無視します。

設定例

ボット

squarecloud.app

Web サイトまたは API

squarecloud.app
サイトは https://mysite.squareweb.app で応答します。

Next.js

ビルドが必要なフレームワークでは START を使います。ここでの MAIN は Node.js ランタイムを選ぶためだけのものなので、実際の設定ファイル(next.config.mjs など)を指定してください。ビルドと起動のスクリプトは package.json から読み込まれます。
squarecloud.app

次のステップ

環境変数

トークンや接続文字列を、コードと zip の外に保管します。

squarecloud.ignore

CLI と VS Code がアップロードから除外するファイルを選びます。

ランタイム

バージョン、依存関係ファイル、各ランタイムでのアプリの起動方法。

トラブルシューティング

各デプロイエラーの意味と解決方法。