メインコンテンツへスキップ
Square Cloud における ランタイム とは、アプリケーションが実行される完全に隔離された環境のことです。言語のインタープリターや仮想マシン、リンクするシステムライブラリ、シェル経由で呼び出せるツール群、そしてホスト上の他のすべてのアプリケーションから分離しておくためのセキュリティ境界が含まれます。 その環境をあなたがビルドしたり保守したりすることはありません。ソースコードと小さな 設定ファイル を送るだけで、Square Cloud が言語を検出し、依存関係を解決し、隔離されたコンテナをプロビジョニングして実行します。同じパイプラインが、Discord/WhatsApp/Telegram のボット、ウェブサイトや API、バックグラウンドワーカーや長時間稼働のサービスを、同一の高速で堅牢なインフラ上で動かします。

サポートされている言語

JavaScript

Python

Java

Rust

Elixir

PHP

Go

C#

Ruby

上記の言語以外にも、ほとんどのスタックやライブラリがそのまま動作します。ランタイムイメージは寛容に作られており、Linux にインストールできる言語であれば、Square Cloud でも動作する可能性が非常に高いです。

バージョン

すべてのランタイムには 2 つの更新チャネルが用意されており、設定ファイルの VERSION フィールドで選択できます:
  • recommended — 大多数のアプリケーション向けに、私たちが堅牢化して本番環境で運用しているバージョンです。特別な理由がない限り、こちらを選択してください。
  • latest — 最新のリリースで、出たばかりの言語機能を必要とするチーム向けです。
デプロイ間で完全な再現性を確保するために、正確なバージョンをピン留めすることもできます。
Languagerecommendedlatest
Node.js [JS & TS]24.15.026.1.0
Python3.13.133.14.5
JavaJDK 25JDK 25
Elixir1.19.51.19.5
Rust1.95.01.95.0
Ruby4.0.44.0.4
PHP8.5.68.5.6
Go1.26.31.26.3
.NET/C#10.0.810.0.8
recommended をピン留めすると、予期しない破壊的変更なしに、テスト済みのパッチ更新が自動的に適用されます。RUNTIMEVERSION フィールドについては 設定ファイル のリファレンスを参照してください。

デプロイの仕組み

アップロードから稼働中のプロセスに至るまで、すべてのデプロイは同じ決定論的なパイプラインを通ります:

言語検出

Square Cloud はアップロードされたファイルを調べ、プロジェクトに既に存在するシグナルからスタックを特定します。Node.js なら package.json、Python なら requirements.txtpyproject.toml、Go なら go.mod、Ruby なら Gemfile、といった具合です。RUNTIME フィールドで検出を明示的に上書きすることもできます。

依存関係の解決

依存関係マニフェストは、ビルド環境内の サーバー側 でインストールされます。node_modules、virtualenv、コンパイル済みの成果物を .zip に含めて送る必要はありません。プラットフォームがそれらを解決してインストールするため、アップロードは小さく保たれ、ビルドは再現可能になります。

プロビジョニング

設定ファイルで宣言された CPU とメモリを持つ、隔離されたコンテナが作成されます。リソースはカーネルレベルで強制されるため、あるアプリケーションが同じホスト上の別のアプリケーションのリソースを枯渇させることは決してありません。

起動

MAIN フィールドはエントリーファイルを指し示し、プラットフォームは正しいインタープリターでそれを起動します。ビルドステップ、静的サーバー、あるいはカスタムコマンドが必要ですか? START を設定すれば、そのまま実行されます。

すべてのランタイムイメージの中身

各イメージは、共通のセキュリティ監査済みベースの上に階層化されているため、どの言語をデプロイしても環境は一貫しています:

Node.js 26 + ビルドツール

すべてのイメージには、主要言語と並んで Node.js 26 が同梱されています。JS ベースのビルドツール、アセットパイプライン、ユーティリティは、どのスタックでも常に利用可能です。

ffmpeg と Chromium

メディア処理 (ffmpeg) とヘッドレスブラウザ (Chromium) がプリインストールされており、追加のセットアップなしにメディアボット、ウェブスクレイピング、PDF やスクリーンショットの生成にすぐ使えます。

デフォルトで非特権

アプリケーションは隔離されたコンテナ内で非 root ユーザーとして実行されます。侵害された依存関係も封じ込められたままとなり、ホストへの特権的なアクセスを持ちません。

静的サイト、ランタイム不要

インタープリターが不要ですか? RUNTIME=static を設定すれば、他のアプリケーションと同じ CDN と TLS を備えたプレーンな HTML/CSS/JS サイトを直接配信できます。

隔離とセキュリティ

すべてのアプリケーションは、カーネルによって強制される CPU とメモリの制限を持つ、完全に隔離されたコンテナであり、共有プロセスではありません。非特権で実行されるということは、アプリケーションがホストや隣接するアプリケーションに到達できないことを意味し、リソースの上限によって、あるプロジェクトのスパイクが別のプロジェクトのパフォーマンスに影響を与えないことが保証されます。これは、Square Cloud が共有クラスタ上で数万ものワークロードを互いに干渉させることなくホストできる、まさにそのモデルです。

次のステップ

設定ファイル

ランタイムを制御するフィールド、MAINSTARTRUNTIMEVERSIONMEMORY をマスターしましょう。

言語ガイド

Node.js、Python、Go、Rust、Java などのステップバイステップのセットアップ。