Langages pris en charge
JavaScript
Python
Java
Rust
Elixir
PHP
Go
C#
Ruby
Au-delà des langages ci-dessus, la plupart des autres stacks et bibliothèques fonctionnent d’emblée. Les images de runtime sont conçues pour être permissives : si votre langage s’installe sous Linux, il fonctionne très probablement sur Square Cloud.
Versions
Chaque runtime propose deux canaux de mise à jour, sélectionnables via le champVERSION de votre fichier de configuration :
recommended— la version que nous durcissons et exécutons en production pour la majorité des applications. Choisissez-la sauf si vous avez une raison spécifique de ne pas le faire.latest— la version la plus récente, pour les équipes qui ont besoin d’une fonctionnalité du langage tout juste publiée.
| Langage | recommended | latest |
|---|---|---|
| Node.js [JS & TS] | 24.15.0 | 26.1.0 |
| Python | 3.13.13 | 3.14.5 |
| Java | JDK 25 | JDK 25 |
| Elixir | 1.19.5 | 1.19.5 |
| Rust | 1.95.0 | 1.95.0 |
| Ruby | 4.0.4 | 4.0.4 |
| PHP | 8.5.6 | 8.5.6 |
| Go | 1.26.3 | 1.26.3 |
| .NET/C# | 10.0.8 | 10.0.8 |
Comment fonctionne un déploiement
De l’envoi à un processus en cours d’exécution, chaque déploiement suit le même pipeline déterministe :Détection du langage
Square Cloud inspecte les fichiers de votre envoi et identifie la stack à partir des signaux déjà présents dans votre projet — un
package.json pour Node.js, un requirements.txt ou un pyproject.toml pour Python, un go.mod pour Go, un Gemfile pour Ruby, et ainsi de suite. Vous pouvez surcharger la détection explicitement avec le champ RUNTIME.Résolution des dépendances
Votre manifeste de dépendances est installé côté serveur, à l’intérieur de l’environnement de build. Vous n’envoyez jamais
node_modules, un virtualenv ou des artefacts compilés dans le .zip — la plateforme les résout et les installe pour vous, gardant les envois légers et les builds reproductibles.Provisionnement
Un conteneur isolé est créé avec le CPU et la mémoire déclarés dans votre fichier de configuration. Les ressources sont appliquées au niveau du noyau, de sorte qu’une application ne peut jamais affamer une autre sur le même hôte.
À l’intérieur de chaque image de runtime
Chaque image est superposée sur une base commune et auditée pour la sécurité, de sorte que l’environnement reste cohérent quel que soit le langage que vous déployez :Node.js 26 + outillage de build
Chaque image intègre Node.js 26 aux côtés du langage principal. Les outils de build, les pipelines d’assets et les utilitaires basés sur JS sont toujours disponibles, quelle que soit votre stack.
ffmpeg & Chromium
Le traitement multimédia (ffmpeg) et un navigateur headless (Chromium) sont préinstallés — prêts pour les bots multimédias, le web scraping et la génération de PDF ou de captures d’écran sans configuration supplémentaire.
Non privilégié par défaut
Les applications s’exécutent en tant qu’utilisateur non-root à l’intérieur d’un conteneur isolé. Une dépendance compromise reste confinée — elle n’a aucun accès privilégié à l’hôte.
Sites statiques, sans runtime
Pas besoin d’interpréteur ? Définissez
RUNTIME=static pour servir directement un site HTML/CSS/JS simple, avec le même CDN et le même TLS que n’importe quelle autre application.Isolation et sécurité
Chaque application est un conteneur entièrement isolé avec des limites de CPU et de mémoire appliquées par le noyau — jamais un processus partagé. S’exécuter en mode non privilégié signifie qu’une application ne peut pas atteindre l’hôte ni ses voisines, et les plafonds de ressources garantissent qu’un pic dans un projet n’a aucun effet sur les performances d’un autre. C’est le même modèle qui permet à Square Cloud d’héberger des dizaines de milliers de charges de travail sur des clusters partagés sans qu’elles interfèrent les unes avec les autres.Étapes suivantes
Fichier de configuration
Maîtrisez
MAIN, START, RUNTIME, VERSION et MEMORY — les champs qui contrôlent votre runtime.Guides par langage
Configuration pas à pas pour Node.js, Python, Go, Rust, Java et plus encore.

