Linguaggi supportati
JavaScript
Bun
Deno
Python
Java
Rust
Elixir
PHP
Go
C#
Ruby
HTML/CSS
Oltre ai linguaggi elencati sopra, la maggior parte degli altri stack e librerie funziona già pronta all’uso. Le immagini runtime sono progettate per essere permissive: se il tuo linguaggio si installa su Linux, molto probabilmente funziona su Square Cloud.
Versioni
Ogni runtime offre due canali di aggiornamento, selezionabili tramite il campoVERSION nel tuo file di configurazione:
recommended: la versione che rafforziamo ed eseguiamo in produzione per la maggior parte delle applicazioni. Scegli questa a meno che tu non abbia una ragione specifica per non farlo.latest: la release più recente, per i team che hanno bisogno di una funzionalità del linguaggio appena rilasciata.
VERSION accetta solo questi due valori: qualsiasi altro valore, incluso un numero di versione esatto, fa fallire il deploy con INVALID_VERSION.
Come funziona un deploy
Dal caricamento a un processo attivo, ogni deploy attraversa la stessa pipeline deterministica:Rilevamento del linguaggio
Square Cloud ricava il linguaggio dal campo
RUNTIME del tuo file di configurazione oppure, se non è impostato, dall’estensione del file MAIN: .js per Node.js, .ts per TypeScript, .py per Python, .go per Go, .jar per Java, e così via. Poi verifica che il file delle dipendenze del linguaggio si trovi nella radice del tuo caricamento: package.json per Node.js e TypeScript, requirements.txt o pyproject.toml per Python, go.mod o go.work per Go, Cargo.toml per Rust, Gemfile per Ruby e mix.exs per Elixir. Se manca o è vuoto, il deploy fallisce con INVALID_DEPENDENCY.Risoluzione delle dipendenze
Le dipendenze vengono installate lato server, all’interno del container, prima dell’avvio della tua app:
npm install quando non c’è una cartella node_modules (una cartella node_modules nella radice del tuo caricamento viene scartata), pip install per Python, bundle install per Ruby e mix deps.get per Elixir, mentre Go, Rust e .NET scaricano i loro pacchetti quando compilano il tuo codice. Non devi includere node_modules o un virtualenv nello .zip. Java è l’eccezione: il comando predefinito esegue un JAR compilato da te (java -jar MAIN), quindi carica il .jar compilato.Provisioning
Viene creato un container isolato con la CPU e la memoria dichiarate nel tuo file di configurazione. Le risorse sono applicate a livello di kernel, quindi un’applicazione non può mai togliere risorse a un’altra sullo stesso host.
Avvio
Senza
START, Square Cloud esegue il comando predefinito del linguaggio, come node MAIN, python MAIN, go run MAIN o java -jar MAIN (Rust ed Elixir compilano ed eseguono l’intero progetto con cargo run --release e mix run --no-halt). Hai bisogno di un passaggio di build o di un comando personalizzato? Imposta START e verrà eseguito così com’è.All’interno di ogni immagine runtime
Ogni immagine parte dall’immagine ufficiale del suo linguaggio e aggiunge gli strumenti di sistema di cui le applicazioni hanno comunemente bisogno:Node.js e Python insieme
Le app Node.js e Python girano sulla stessa immagine, che include sia Node.js sia Python 3.14, così un bot può richiamare uno script scritto nell’altro linguaggio. L’immagine PHP include anche Node.js 24 e npm per la build degli asset.
ffmpeg & Chromium
ffmpeg è preinstallato nelle immagini Node.js, Python, Java, Go, Rust, Ruby, Elixir e .NET, e l’immagine Node.js e Python include anche Chromium headless, pronti per bot multimediali, web scraping e generazione di PDF o screenshot senza configurazione aggiuntiva.
Senza privilegi per impostazione predefinita
Le applicazioni vengono eseguite come utente non-root all’interno di un container isolato. Una dipendenza compromessa rimane confinata, senza accesso privilegiato all’host.
Siti statici, nessun runtime
Nessun interprete necessario? Imposta
RUNTIME=static per servire direttamente un sito HTML/CSS/JS puro, con la stessa CDN e lo stesso TLS di qualsiasi altra applicazione.Isolamento e sicurezza
Ogni applicazione è un container completamente isolato con limiti di CPU e memoria applicati a livello di kernel, mai un processo condiviso. L’esecuzione senza privilegi significa che un’applicazione non può raggiungere l’host o i suoi vicini, e i limiti sulle risorse garantiscono che un picco in un progetto non abbia alcun effetto sulle prestazioni di un altro. Questo è lo stesso modello che consente a Square Cloud di ospitare decine di migliaia di carichi di lavoro su cluster condivisi senza che interferiscano tra loro.Prossimi passi
File di configurazione
Padroneggia
MAIN, START, RUNTIME, VERSION e MEMORY: i campi che controllano il tuo runtime.Guide ai linguaggi
Configurazione passo passo per Node.js, Bun, Deno, Python, Go, Rust, Java, HTML statico e altro.

