Skip to main content
Node.js ランタイムは、JavaScript と TypeScript のボット、API、サーバーでレンダリングするウェブサイトを実行します。Square Cloud は package.json から依存関係をインストールし、Node.js でアプリを起動します。

始める前に

  • 手元のマシンに Node.js と npm。まだの場合は、Node.js 公式サイトからダウンロードしてください。
  • Square Cloud のアカウント。メールアドレスまたは GitHub で登録できます。
  • 有効なプラン。プランを確認し、プロジェクトに合うものを選んでください。

Square Cloud の設定

ダッシュボードからアプリケーションをアップロードする場合、このセクションは飛ばしてかまいません。ダッシュボードが squarecloud.app 設定ファイルを自動で作成します。

設定ファイルのリファレンス

squarecloud.app ファイルは、アプリケーションの実行方法を Square Cloud に伝えます。メインファイル、メモリ、ランタイムのバージョン、名前、そして Web サイトの場合はサブドメインを指定します。
アプリの種類ごとの完全な設定ファイルです。
squarecloud.app
VERSION=recommended は Node.js の現行 LTS 系列を、VERSION=latest は最新のリリースを実行します。

Square Cloud が実行する内容

  • 設定ファイルに START フィールドが定義されていない場合、Square Cloud は node MAIN を実行します。アプリのメモリが 1024 MB 以上の場合は、--max_old_space_size=<MEMORY> (Node.js のヒープ上限、MB 単位) を追加します。START フィールドが定義されている場合は、その値が直接実行されます。設定ファイルのパラメーターに関する詳細は、設定パラメーターをご覧ください。
  • アプリに node_modules フォルダがない場合、Square Cloud は起動前に npm install --no-audit --no-fund を実行します。ランタイムが NODE_ENV=production を設定するため、devDependencies のパッケージはインストールされません。node_modules がすでに存在する場合、インストールの手順はスキップされます。

ウェブサイトと API のポートとホスト

Square Cloud は環境変数 PORT を 80 に、HOST を 0.0.0.0 に設定します。サーバーはこのポートで、すべてのネットワークインターフェースをリッスンする必要があります。Express の例:
Next.js、Nuxt、React Router、Astro、SolidStart は PORT を自動で読み込みます。変更が不要な場合は、それぞれのフレームワークガイドに記載しています。

プロジェクトの準備

必要なファイル

  • ZIP のルートに置いた squarecloud.app。
  • メインファイル。たとえば index.js や src/index.ts。
  • 依存関係を記載した package.json。これがないアップロードは INVALID_DEPENDENCY で失敗します。
設定ファイル(squarecloud.app)は zip ファイルのルートに配置する必要があります。そうでない場合、Square Cloud はデプロイ中にそれを見つけることができません。
Square Cloud は tsx (npx tsx MAIN) で TypeScript をネイティブに実行しますが、本番環境では JavaScript へのコンパイルをおすすめします。手元のマシンでビルドし、MAIN でコンパイル後のファイルを指定してください。

含めないもの

  • node_modules: Square Cloud はアップロードからこのフォルダを削除し、初回起動時に package.json から依存関係をインストールします。アップロードが小さくなり、依存関係がサーバーのシステム向けにビルドされます。
  • ロックファイル (package-lock.json、yarn.lock、pnpm-lock.yaml): CLI と VS Code 拡張機能はデフォルトでこれらを除外するため、npm は package.json の範囲で許可される最新のバージョンをインストールします。ロックファイルの正確なバージョンが必要な場合は、squarecloud.ignore に !package-lock.json を追加して含めてください。

フレームワークガイド

Express

Fastify

NestJS

Next.js

Nuxt

React Router

Angular

Astro

SolidJS

Qwik

React

Vue

Vite、React、Vue、Preact で作ったシングルページアプリは、Node.js を使わずに静的ランタイムでも実行できます。

トラブルシューティング

このエラーは、設定ファイルでアプリケーションの「main」として定義されたファイルが 存在しない、誤って記述されている、またはパスが 間違っている場合に発生します。例えばメインファイルがフォルダ内にある場合は、 folder/file.js のように指定する必要があります。
ボットをホスティングするために必要な RAM の最小量は 256MB で、 サイト/API の場合は 512MB です。ただし、アプリケーションのサイズや複雑さによっては、 アプリケーションがメモリ不足でクラッシュするのを避けるために、より多くの RAM を 割り当てることをおすすめする場合があります。
その他の問題については、トラブルシューティングを参照してください。

デプロイ

ダッシュボード経由

1

アップロードページにアクセス

アップロードページにアクセスし、プロジェクトの zip ファイルをアップロードします。
2

環境を設定

zip をアップロードした後、プロジェクトの名前、メインファイルまたはランタイム環境、その他の設定を構成する必要があります。
ウェブプロジェクトをアップロードする場合は、必ず「Web Publication」を選択し、プロジェクトにサブドメインを設定してください。
3

プロジェクトをデプロイ

最後に「Deploy」ボタンをクリックして、プロジェクトを Square Cloud にホストします。
デプロイ後、ダッシュボードからプロジェクトのステータスとログを監視できます。
Square Cloud へのアプリケーションのアップロード
4

アプリが稼働していることを確認

最初のデプロイは、通常 1 分もかからずに完了します。ダッシュボードでアプリケーションのステータスが running になるのを待ち、起動時のエラーがないかログを確認してください。
ウェブサイトや 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 は squarecloud.ignore に記載されたものを除いて現在のフォルダを zip にし、アップロードします:
自分で作成した zip をアップロードするには、--file で指定します:
4

アプリが稼働していることを確認

最初のデプロイは、通常 1 分もかからずに完了します。ターミナルから直接、アプリケーションのステータスとログを確認してください。
ウェブサイトや API をデプロイした場合は、ブラウザで https://<your-subdomain>.squareweb.app を開き、アプリケーションが応答することを確認してください。ボットをデプロイした場合は、コマンドを送信してオンラインになっていることを確認してください。
アプリが起動しませんか?よくある原因と修正方法はトラブルシューティングガイドを参照してください。

次のステップ

環境変数

シークレットや設定をコードから切り離し、実行時に読み込みます。

カスタムドメイン

Standard プラン以上で、独自ドメインからアプリを配信します。

トラブルシューティング

起動しないアプリや応答しないサイトを修正します。

お問い合わせ

技術的な問題が解決しない場合は、専門のサポートチームがお手伝いします。お問い合わせいただければ、どのような問題でも喜んで解決をサポートいたします。サポートの質の高さも、開発者が Google と Trustpilot で Square Cloud に402 件のレビューで 4.9/5という評価をつけている理由の 1 つです。