跳转到主要内容
Square Cloud 上的运行时是应用运行所处的完整、隔离的环境:语言解释器或虚拟机、它所链接的系统库、它可以调用的工具,以及将它与主机上其他所有应用隔离开的安全边界。 你无需自行构建或维护该环境。你只需提交源代码和一个小小的配置文件;Square Cloud 会检测语言、解析依赖、置备一个隔离容器并运行它。同一条流水线为 Discord/WhatsApp/Telegram 机器人、网站和 API、后台工作进程以及长期运行的服务提供支撑,全部运行在同样快速、经过加固的基础设施之上。

支持的语言

JavaScript

Python

Java

Rust

Elixir

PHP

Go

C#

Ruby

除了上述语言之外,大多数其他技术栈和库都可以开箱即用地运行。运行时镜像被设计得十分宽松:如果你的语言能在 Linux 上安装,它几乎肯定能在 Square Cloud 上运行。

版本

每个运行时都提供两个更新通道,可通过配置文件中的 VERSION 字段进行选择:
  • recommended — 我们为绝大多数应用加固并在生产环境中运行的版本。除非有特定理由,否则请选择它。
  • latest — 最新发布的版本,适合需要某个刚刚推出的语言特性的团队。
你也可以固定到某个精确版本,以在多次部署之间获得完全可复现性。
语言recommendedlatest
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 字段,请参阅配置文件参考。

deploy 的工作原理

从上传到进程上线,每一次 deploy 都会经过同一条确定性流水线:

语言检测

Square Cloud 会检查你上传的文件,并根据项目中已存在的信号识别技术栈 —— Node.js 的 package.json、Python 的 requirements.txtpyproject.toml、Go 的 go.mod、Ruby 的 Gemfile 等等。你可以通过 RUNTIME 字段显式覆盖检测结果。

依赖解析

你的依赖清单会在服务端、在构建环境内部被安装。你无需将 node_modules、虚拟环境或已编译产物打包进 .zip —— 平台会为你解析并安装它们,从而让上传保持精简、构建保持可复现。

置备

平台会按照配置文件中声明的 CPU 和内存创建一个隔离容器。资源限制在内核层面强制执行,因此一个应用绝不会在同一主机上抢占另一个应用的资源。

启动

MAIN 字段指向你的入口文件,平台会使用正确的解释器启动它。需要构建步骤、静态服务器或自定义命令?设置 START,它会被原样执行。

每个运行时镜像内部

每个镜像都层叠在一个通用的、经过安全审计的基础镜像之上,因此无论你部署哪种语言,环境都保持一致:

Node.js 26 + 构建工具

每个镜像都在主语言之外捆绑了 Node.js 26。无论你的技术栈是什么,基于 JS 的构建工具、资源流水线和实用工具始终可用。

ffmpeg 和 Chromium

媒体处理工具(ffmpeg)和无头浏览器(Chromium)已预装 —— 无需额外配置即可用于媒体机器人、网页抓取,以及 PDF 或截图生成。

默认非特权

应用以非 root 用户身份在隔离容器内运行。被入侵的依赖会被限制在容器内 —— 它对主机没有任何特权访问。

静态站点,无需运行时

不需要解释器?设置 RUNTIME=static 即可直接提供纯 HTML/CSS/JS 站点,并享有与其他应用相同的 CDN 和 TLS。

隔离与安全

每个应用都是一个完全隔离的容器,具有内核强制执行的 CPU 和内存限制 —— 绝非共享进程。以非特权方式运行意味着应用无法触及主机或其邻居,而资源上限则保证某个项目的流量高峰不会影响另一个项目的性能。正是这一模型让 Square Cloud 能够在共享集群上托管数万个工作负载而彼此互不干扰。

后续步骤

配置文件

掌握 MAINSTARTRUNTIMEVERSIONMEMORY —— 这些字段控制着你的运行时。

语言指南

Node.js、Python、Go、Rust、Java 等的分步设置。