Linguagens suportadas
JavaScript
Bun
Deno
Python
Java
Rust
Elixir
PHP
Go
C#
Ruby
HTML/CSS
Além das linguagens acima, a maioria das outras stacks e bibliotecas funciona nativamente. As imagens de runtime são construídas para serem permissivas: se sua linguagem instala no Linux, é muito provável que ela rode na Square Cloud.
Versões
Cada runtime oferece dois canais de atualização, selecionáveis pelo campoVERSION no seu arquivo de configuração:
recommended: a versão que blindamos e executamos em produção para a maioria das aplicações. Escolha-a a menos que tenha um motivo específico para não fazê-lo.latest: a release mais recente, para times que precisam de um recurso de linguagem recém-lançado.
VERSION aceita apenas esses dois valores: qualquer outro valor, incluindo um número de versão exato, faz o deploy falhar com INVALID_VERSION.
Como um deploy funciona
Do upload até um processo no ar, todo deploy passa pelo mesmo pipeline determinístico:Detecção de linguagem
A Square Cloud identifica a linguagem pelo campo
RUNTIME do seu arquivo de configuração ou, quando ele não está definido, pela extensão do arquivo MAIN: .js para Node.js, .ts para TypeScript, .py para Python, .go para Go, .jar para Java, e assim por diante. Em seguida, ela verifica se o arquivo de dependências da linguagem está na raiz do seu upload: package.json para Node.js e TypeScript, requirements.txt ou pyproject.toml para Python, go.mod ou go.work para Go, Cargo.toml para Rust, Gemfile para Ruby e mix.exs para Elixir. Se ele estiver ausente ou vazio, o deploy falha com INVALID_DEPENDENCY.Resolução de dependências
As dependências são instaladas no servidor, dentro do container, antes de a sua aplicação iniciar:
npm install quando não há pasta node_modules (uma pasta node_modules na raiz do seu upload é descartada), pip install para Python, bundle install para Ruby e mix deps.get para Elixir, enquanto Go, Rust e .NET baixam seus pacotes ao compilar o seu código. Você não precisa enviar node_modules nem um virtualenv dentro do .zip. Java é a exceção: o comando padrão executa um JAR que você compilou (java -jar MAIN), então envie o .jar compilado.Provisionamento
Um container isolado é criado com a CPU e a memória declaradas no seu arquivo de configuração. Os recursos são aplicados no nível do kernel, de modo que uma aplicação nunca consegue sufocar outra no mesmo host.
Inicialização
Sem
START, a Square Cloud executa o comando padrão da linguagem, como node MAIN, python MAIN, go run MAIN ou java -jar MAIN (Rust e Elixir compilam e executam o projeto inteiro com cargo run --release e mix run --no-halt). Precisa de uma etapa de build ou de um comando personalizado? Defina START e ele é executado literalmente.Dentro de cada imagem de runtime
Cada imagem parte da imagem oficial da sua linguagem e adiciona as ferramentas de sistema de que as aplicações costumam precisar:Node.js e Python juntos
Aplicações Node.js e Python rodam na mesma imagem, que traz tanto o Node.js quanto o Python 3.14, então um bot pode chamar um script escrito na outra linguagem. A imagem de PHP também inclui o Node.js 24 e o npm para o build de assets.
ffmpeg e Chromium
O ffmpeg vem pré-instalado nas imagens de Node.js, Python, Java, Go, Rust, Ruby, Elixir e .NET, e a imagem de Node.js e Python também inclui o Chromium headless, pronto para bots de mídia, web scraping e geração de PDF ou screenshots, sem configuração extra.
Sem privilégios por padrão
As aplicações rodam como um usuário não-root dentro de um container isolado. Uma dependência comprometida permanece contida, sem acesso privilegiado ao host.
Sites estáticos, sem runtime
Não precisa de interpretador? Defina
RUNTIME=static para servir um site em HTML/CSS/JS puro diretamente, com o mesmo CDN e TLS de qualquer outra aplicação.Isolamento e segurança
Cada aplicação é um container totalmente isolado com limites de CPU e memória aplicados pelo kernel, nunca um processo compartilhado. Rodar sem privilégios significa que uma aplicação não consegue alcançar o host nem seus vizinhos, e os limites de recursos garantem que um pico em um projeto não tenha efeito algum sobre o desempenho de outro. É o mesmo modelo que permite à Square Cloud hospedar dezenas de milhares de cargas de trabalho em clusters compartilhados sem que interfiram entre si.Próximos passos
Arquivo de configuração
Domine
MAIN, START, RUNTIME, VERSION e MEMORY: os campos que controlam seu runtime.Guias por linguagem
Configuração passo a passo para Node.js, Bun, Deno, Python, Go, Rust, Java, HTML estático e mais.

