Passer au contenu principal
Un runtime sur Square Cloud est l’environnement complet et isolé dans lequel votre application s’exécute : l’interpréteur du langage ou la machine virtuelle, les bibliothèques système auxquelles elle est liée, l’outillage qu’elle peut invoquer, et la frontière de sécurité qui la maintient séparée de toutes les autres applications de l’hôte. Vous ne construisez ni ne maintenez jamais cet environnement. Vous livrez votre code source et un petit fichier de configuration ; Square Cloud détecte le langage, résout vos dépendances, provisionne un conteneur isolé et l’exécute. Le même pipeline alimente les bots Discord/WhatsApp/Telegram, les sites web et les API, les workers en arrière-plan et les services de longue durée, sur la même infrastructure rapide et durcie.

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 champ VERSION 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.
Vous pouvez également épingler une version exacte pour une reproductibilité totale entre les déploiements.
Langagerecommendedlatest
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
Épingler recommended vous garantit des mises à jour de correctifs automatiques et testées, sans changements cassants inattendus. Consultez la référence du fichier de configuration pour les champs RUNTIME et VERSION.

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.

Démarrage

Le champ MAIN pointe vers votre fichier d’entrée et la plateforme le lance avec l’interpréteur approprié. Besoin d’une étape de build, d’un serveur statique ou d’une commande personnalisée ? Définissez START et elle s’exécute telle quelle.

À 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.