支持的语言
JavaScript
Bun
Deno
Python
Java
Rust
Elixir
PHP
Go
C#
Ruby
HTML/CSS
除了上述语言之外,大多数其他技术栈和库都可以开箱即用地运行。运行时镜像被设计得十分宽松:如果你的语言能在 Linux 上安装,它几乎肯定能在 Square Cloud 上运行。
版本
每个运行时都提供两个更新通道,可通过配置文件中的VERSION 字段进行选择:
recommended: 我们为绝大多数应用加固并在生产环境中运行的版本。除非有特定理由,否则请选择它。latest: 最新发布的版本,适合需要某个刚刚推出的语言特性的团队。
VERSION 只接受这两个值:任何其他值(包括精确的版本号)都会导致 deploy 失败并返回 INVALID_VERSION。
deploy 的工作原理
从上传到进程上线,每一次 deploy 都会经过同一条确定性流水线:语言检测
Square Cloud 从配置文件的
RUNTIME 字段获取语言;未设置时,则根据 MAIN 文件的扩展名判断:.js 对应 Node.js,.ts 对应 TypeScript,.py 对应 Python,.go 对应 Go,.jar 对应 Java,依此类推。随后它会检查该语言的依赖文件是否位于上传内容的根目录:Node.js 和 TypeScript 为 package.json,Python 为 requirements.txt 或 pyproject.toml,Go 为 go.mod 或 go.work,Rust 为 Cargo.toml,Ruby 为 Gemfile,Elixir 为 mix.exs。如果该文件缺失或为空,deploy 会失败并返回 INVALID_DEPENDENCY。依赖解析
依赖会在应用启动之前于服务端、在容器内部安装:没有
node_modules 文件夹时运行 npm install(上传内容根目录中的 node_modules 文件夹会被丢弃),Python 运行 pip install,Ruby 运行 bundle install,Elixir 运行 mix deps.get,而 Go、Rust 和 .NET 会在构建代码时下载所需的包。你无需将 node_modules 或虚拟环境打包进 .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
Node.js、Python、Java、Go、Rust、Ruby、Elixir 和 .NET 镜像均预装了 ffmpeg,Node.js 和 Python 镜像还包含无头 Chromium,无需额外配置即可用于媒体机器人、网页抓取,以及 PDF 或截图生成。
默认非特权
应用以非 root 用户身份在隔离容器内运行。被入侵的依赖会被限制在容器内,对主机没有任何特权访问。
静态站点,无需运行时
不需要解释器?设置
RUNTIME=static 即可直接提供纯 HTML/CSS/JS 站点,并享有与其他应用相同的 CDN 和 TLS。隔离与安全
每个应用都是一个完全隔离的容器,具有内核强制执行的 CPU 和内存限制,绝非共享进程。以非特权方式运行意味着应用无法触及主机或其邻居,而资源上限则保证某个项目的流量高峰不会影响另一个项目的性能。正是这一模型让 Square Cloud 能够在共享集群上托管数万个工作负载而彼此互不干扰。后续步骤
配置文件
掌握
MAIN、START、RUNTIME、VERSION 和 MEMORY:这些字段控制着你的运行时。语言指南
Node.js、Bun、Deno、Python、Go、Rust、Java、静态 HTML 等的分步设置。

