はじめに
Square Cloud で Next.js アプリケーション を開発してホストするには、構成と前提条件の体系的な手順に従うことが不可欠です。この技術ガイドでは、初期セットアップから本番環境へのデプロイまで、プロセス全体を解説します。前提条件
- Square Cloud アカウント: 登録ページからメールアドレスを使って登録します。
- 有効なプラン: アプリケーションに専用リソースと最適化されたパフォーマンスを提供します。利用可能なプランを確認し、ニーズに最も適したものを選択してください。
プロジェクトの作成
手元のマシンに Node.js 20.9 以降と npm が必要です。まだの場合は、Node.js 公式サイトからダウンロードしてください。公式の初期化ツールでプロジェクトを作成します。npm run dev で開発サーバーを起動し、app/page.tsx (または app/page.js) を編集するとホームページを変更できます。
本番用にビルドする
next build は本番用のビルドを .next フォルダに書き込みます。ビルドは手元のマシンで実行してください。TypeScript、ESLint、Tailwind CSS は devDependencies であり、Square Cloud はこれらをインストールしません。
ポートとホスト
Next.js で変更する必要はありません。next start は Square Cloud が 80 に設定する環境変数 PORT を読み込み、すべてのネットワークインターフェースでリッスンします。package.json のデフォルトの start スクリプトはそのままにしてください。
package.json
Square Cloud の設定
プロジェクトのルートにsquarecloud.app ファイルを作成します。
squarecloud.app
RUNTIME=nodejs は MAIN ファイルなしで Node.js ランタイムを選択し、START は next start を実行します。ダッシュボードからアップロードする場合も、同じ起動コマンドを設定してください。
ZIP に含めるもの
.next/: 本番用のビルドです (Square Cloud はアップロード時に.next/cacheを削除するため、これは含めなくてもかまいません)。public/、package.json、next.config.*ファイル。squarecloud.app。- ソースフォルダ (
app/またはpages/) はnext startでは読み込まれませんが、アップロードしても問題ありません。
node_modules は含めないでください。Square Cloud が初回起動時に dependencies をインストールします。
デプロイと動作確認
ダッシュボード経由
1
アップロードページにアクセス
アップロードページにアクセスし、プロジェクトの zip ファイルをアップロードします。
2
環境を設定
zip をアップロードした後、プロジェクトの名前、メインファイルまたはランタイム環境、その他の設定を構成する必要があります。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
3
プロジェクトをデプロイ
最後に「Deploy」ボタンをクリックして、プロジェクトを Square Cloud にホストします。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。

4
アプリが稼働していることを確認
最初のデプロイは、通常 1 分もかからずに完了します。ダッシュボードでアプリケーションのステータスが running になるのを待ち、起動時のエラーがないかログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで
ウェブサイトや API をデプロイした場合は、ブラウザで
https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
CLI 経由
この方法を使用するには、プロジェクトのルートにsquarecloud.app という名前の設定ファイルが必要です。このファイルは、アプリケーションの実行方法を Square Cloud に伝えます。
設定ファイルガイド
アプリケーションの環境を定義する
squarecloud.app 設定ファイルの作成方法を学びます。1
CLI をインストール
Square Cloud CLI をインストールします。すでにお持ちの場合は、同じコマンドを実行すると更新されます:
2
ログイン
次のコマンドを実行します。ブラウザが開くので、そこでログインを承認すれば CLI の準備は完了です。API キーをコピーする必要はありません。スクリプトや CI については、CLI の認証を参照してください。
3
プロジェクトをアップロード
プロジェクトのフォルダで次のコマンドを実行します。CLI は 自分で作成した zip をアップロードするには、
squarecloud.ignore に記載されたものを除いて現在のフォルダを zip にし、アップロードします:--file で指定します:4
アプリが稼働していることを確認
最初のデプロイは、通常 1 分もかからずに完了します。ターミナルから直接、アプリケーションのステータスとログを確認してください。ウェブサイトや API をデプロイした場合は、ブラウザで
https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
よくあるエラー
カスタムドメイン
デフォルトの URL
mysite.squareweb.app の代わりにカスタムドメイン(例: mysite.com)を使用するには、Standard プラン以上が必要です。デフォルトの URL は設定ファイルの SUBDOMAIN フィールドから決まります。独自ドメインを接続するには、独自ドメインの設定方法に従ってください。最小 RAM 要件
ウェブサイトと API は最小 512MB RAMです。これは静的ランタイムで静的ビルドを配信するには十分な量です。サーバー上でページをレンダリングするアプリ(Next.js、Nuxt、Angular SSR など)には、最低 1GB RAMを推奨します。より大規模なアプリケーションでは、メモリ不足でアプリケーションがクラッシュするのを防ぐため、より多くの RAM を割り当ててください。
このサイトが見つかりませんでした。
サブドメイン/ドメインが SUBDOMAIN フィールドまたはカスタムドメイン設定で構成されている内容と一致しているか確認してください。サイトをアップロードしたばかりの場合は、Square が初回アクセスを有効化するまで最大 60 秒お待ちください。
サイトの応答に時間がかかりすぎました…
サーバーはポート 80 とホスト 0.0.0.0 でリッスンする必要があります。Square Cloud はアプリケーションに環境変数 PORT(
80)と HOST(0.0.0.0)を設定します。別の値をハードコーディングせず、コードでこれらを読み込んでください。localhost や 127.0.0.1 だけでリッスンしているサーバーには、リクエストが届きません。Could not find a production build
next start が .next フォルダを見つけられませんでした。ZIP にする前に npm run build を実行し、.next が ZIP に含まれていることを確認してください。
GitHub Actions でプッシュのたびにデプロイ
Square Cloud GitHub Action はランナーに CLI をインストールするため、ワークフローでアプリをビルドして Square Cloud に送信できます。API キーをリポジトリシークレットSQUARECLOUD_API_KEY として、アプリケーション ID をリポジトリ変数 SQUARECLOUD_APP_ID として保存し、.github/workflows/deploy.yml を追加します。
.github/workflows/deploy.yml
squarecloud commit は、新しくビルドした .next を含むフォルダをアプリケーションに送信し、--restart で再起動して新しいビルドを公開します。アップロードを小さく保つには、squarecloud.ignore ファイルに .next/cache を追加してください。その他のオプションについては、GitHub Actions でのデプロイを参照してください。
次のステップ
環境変数
シークレットや設定をコードから切り離し、実行時に読み込みます。
カスタムドメイン
Standard プラン以上で、独自ドメインからアプリを配信します。
トラブルシューティング
起動しないアプリや応答しないサイトを修正します。

