サポートされている言語
JavaScript
Bun
Deno
Python
Java
Rust
Elixir
PHP
Go
C#
Ruby
HTML/CSS
上記の言語以外にも、ほとんどのスタックやライブラリがそのまま動作します。ランタイムイメージは寛容に作られており、Linux にインストールできる言語であれば、Square Cloud でも動作する可能性が非常に高いです。
バージョン
すべてのランタイムには 2 つの更新チャネルが用意されており、設定ファイルのVERSION フィールドで選択できます:
recommended: 大多数のアプリケーション向けに、私たちが堅牢化して本番環境で運用しているバージョンです。特別な理由がない限り、こちらを選択してください。latest: 最新のリリースで、出たばかりの言語機能を必要とするチーム向けです。
VERSION に指定できるのはこの 2 つの値だけです。正確なバージョン番号を含め、それ以外の値を指定するとデプロイは INVALID_VERSION で失敗します。
デプロイの仕組み
アップロードから稼働中のプロセスに至るまで、すべてのデプロイは同じ決定論的なパイプラインを通ります:言語検出
Square Cloud は設定ファイルの
RUNTIME フィールドから言語を判断し、設定されていない場合は MAIN ファイルの拡張子から判断します。Node.js なら .js、TypeScript なら .ts、Python なら .py、Go なら .go、Java なら .jar、といった具合です。次に、その言語の依存関係ファイルがアップロードのルートにあるかを確認します。Node.js と TypeScript なら package.json、Python なら requirements.txt または pyproject.toml、Go なら go.mod または go.work、Rust なら Cargo.toml、Ruby なら Gemfile、Elixir なら mix.exs です。このファイルがない場合や空の場合、デプロイは INVALID_DEPENDENCY で失敗します。依存関係の解決
依存関係は、アプリが起動する前にコンテナ内の サーバー側 でインストールされます。
node_modules フォルダがない場合は npm install (アップロードのルートにある node_modules フォルダは破棄されます)、Python では pip install、Ruby では bundle install、Elixir では mix deps.get が実行され、Go、Rust、.NET はコードのビルド時にパッケージをダウンロードします。node_modules や virtualenv を .zip に含めて送る必要はありません。例外は Java です。デフォルトのコマンドはビルド済みの JAR を実行する (java -jar MAIN) ため、コンパイルした .jar をアップロードしてください。プロビジョニング
設定ファイルで宣言された CPU とメモリを持つ、隔離されたコンテナが作成されます。リソースはカーネルレベルで強制されるため、あるアプリケーションが同じホスト上の別のアプリケーションのリソースを枯渇させることは決してありません。
起動
START がない場合、Square Cloud は node MAIN、python MAIN、go run MAIN、java -jar MAIN など、その言語のデフォルトのコマンドを実行します (Rust と Elixir は cargo run --release と mix run --no-halt でプロジェクト全体をビルドして実行します)。ビルドステップやカスタムコマンドが必要ですか? START を設定すれば、そのまま実行されます。すべてのランタイムイメージの中身
各イメージはその言語の公式イメージをベースに、アプリケーションがよく必要とするシステムツールを追加しています:Node.js と Python を同じイメージで
Node.js と Python のアプリは同じイメージで動作し、そのイメージには Node.js と Python 3.14 の両方が含まれているため、ボットからもう一方の言語で書かれたスクリプトを呼び出せます。PHP のイメージにも、アセットのビルド用に Node.js 24 と npm が含まれています。
ffmpeg と Chromium
ffmpeg は Node.js、Python、Java、Go、Rust、Ruby、Elixir、.NET のイメージにプリインストールされており、Node.js と Python のイメージにはヘッドレスの Chromium も含まれています。追加のセットアップなしに、メディアボット、ウェブスクレイピング、PDF やスクリーンショットの生成にすぐ使えます。
デフォルトで非特権
アプリケーションは隔離されたコンテナ内で非 root ユーザーとして実行されます。侵害された依存関係も封じ込められたままとなり、ホストへの特権的なアクセスを持ちません。
静的サイト、ランタイム不要
インタープリターが不要ですか?
RUNTIME=static を設定すれば、他のアプリケーションと同じ CDN と TLS を備えたプレーンな HTML/CSS/JS サイトを直接配信できます。隔離とセキュリティ
すべてのアプリケーションは、カーネルによって強制される CPU とメモリの制限を持つ、完全に隔離されたコンテナであり、共有プロセスではありません。非特権で実行されるということは、アプリケーションがホストや隣接するアプリケーションに到達できないことを意味し、リソースの上限によって、あるプロジェクトのスパイクが別のプロジェクトのパフォーマンスに影響を与えないことが保証されます。これは、Square Cloud が共有クラスタ上で数万ものワークロードを互いに干渉させることなくホストできる、まさにそのモデルです。次のステップ
設定ファイル
ランタイムを制御するフィールド、
MAIN、START、RUNTIME、VERSION、MEMORY をマスターしましょう。言語ガイド
Node.js、Bun、Deno、Python、Go、Rust、Java、静的 HTML などのステップバイステップのセットアップ。

