Skip to main content

Qu’est-ce que le fichier de configuration ?

Le fichier de configuration indique à Square Cloud comment exécuter votre application : quel fichier démarrer, combien de mémoire réserver, quelle version du runtime utiliser et, pour un site web, quel sous-domaine publier. C’est un simple fichier texte avec une paire CLÉ=VALEUR par ligne.
squarecloud.app

Créer le fichier de configuration

Créez un fichier nommé squarecloud.app ou squarecloud.config à la racine de votre projet. Les deux noms fonctionnent de la même façon. Lorsque vous envoyez un zip, le fichier doit se trouver à la racine du zip, et non dans un sous-dossier, sinon le deploy échoue avec MISSING_CONFIG.
Sur macOS, nous recommandons le nom squarecloud.config.
L’extension VS Code complète chaque clé ci-dessous et souligne les valeurs invalides pendant que vous tapez.

Paramètres de configuration

MEMORY, VERSION et DISPLAY_NAME sont toujours obligatoires. MAIN est obligatoire sauf si vous définissez RUNTIME. Les paramètres modifiables peuvent être changés dans le tableau de bord après le deploy. Changer un paramètre non modifiable nécessite d’envoyer à nouveau l’application.

MAIN

Le fichier qui démarre votre application, relatif à la racine du projet.
  • L’extension du fichier sélectionne le runtime : .js s’exécute sur Node.js, .ts sur TypeScript, .py sur Python, et ainsi de suite.
  • Le fichier doit exister dans votre envoi et ne peut pas être vide.
  • Jusqu’à 32 caractères : lettres, chiffres, _, ., / et -, sans espaces.
Un MAIN absent (sans RUNTIME) échoue avec MISSING_MAIN ; un fichier qui n’existe pas, n’a pas d’extension ou enfreint les règles ci-dessus échoue avec INVALID_MAIN.

MEMORY

La RAM réservée à votre application, en mégaoctets. Elle détermine aussi les vCPU et la bande passante de votre application.
La valeur doit être au moins égale au minimum pour votre type de projet, sans dépasser la RAM encore libre sur votre plan. Sinon, le deploy échoue avec INSUFFICIENT_MEMORY.

VERSION

La version du runtime : recommended ou latest. Toute autre valeur, y compris un numéro de version exact, fait échouer le deploy avec INVALID_VERSION.
Utilisez recommended, sauf si vous avez besoin d’une fonctionnalité que seule la version la plus récente propose. Les versions derrière chaque valeur figurent dans le tableau des versions des runtimes.

DISPLAY_NAME

Le nom affiché dans le tableau de bord, la CLI et l’API.
Jusqu’à 32 caractères : lettres sans accents, chiffres, espaces, - et _. Tout autre caractère, comme une lettre accentuée ou un emoji, échoue avec INVALID_DISPLAY_NAME.

DESCRIPTION

Une courte description de l’application, jusqu’à 280 caractères (INVALID_DESCRIPTION au-delà).

AUTORESTART

Redémarre automatiquement l’application après un crash. Accepte true ou false, avec false par défaut : activez-le pour les bots et tout ce qui doit rester en ligne.
Un redémarrage automatique n’a lieu que si toutes ces conditions sont réunies :
  • L’application s’est terminée avec le statut 1, le code de sortie habituel d’une erreur non gérée en Node.js et en Python.
  • Elle tournait depuis au moins 60 secondes, pour qu’une app qui plante dès le démarrage ne redémarre pas en boucle.
  • Elle n’a pas été redémarrée automatiquement au cours de la dernière heure.
  • Les logs ne montrent pas une erreur qu’un redémarrage ne peut pas corriger : un token de bot invalide, un module manquant, une erreur de syntaxe ou de typage TypeScript, ou l’échec de l’installation des dépendances.
Un redémarrage garde l’app en ligne malgré une erreur passagère, mais le bug sous-jacent doit tout de même être corrigé dans votre code. Voir aussi l’article du centre d’aide sur le redémarrage automatique.

SUBDOMAIN

Publie l’application comme site web à l’adresse https://<subdomain>.squareweb.app.
  • Jusqu’à 63 caractères : lettres, chiffres et tirets, sans tiret au début ni à la fin. Le nom est enregistré en minuscules.
  • Un nom déjà utilisé, réservé (comme admin ou api) ou invalide échoue avec INVALID_SUBDOMAIN.
  • Un site web a besoin de plus de RAM qu’un bot : voir la RAM minimale.
  • Votre serveur doit écouter sur le port 80 et l’hôte 0.0.0.0 (voir le site web ne se charge pas).
Décidez dès le premier envoi si l’application est un site web. Sur un site web, vous pouvez changer le sous-domaine plus tard, mais pas le retirer (CANNOT_SET_SUBDOMAIN). Une application déployée sans SUBDOMAIN ne peut pas devenir un site web : envoyez-la à nouveau comme nouvelle application avec SUBDOMAIN défini.
Pour servir le site sur votre propre domaine, consultez comment configurer votre propre domaine dans le centre d’aide.

RUNTIME

Définit explicitement le runtime, au lieu de le déduire de l’extension de MAIN. Une valeur inconnue échoue avec INVALID_RUNTIME.
Avec RUNTIME défini, vous pouvez omettre MAIN. Dans ce cas, définissez aussi START : la plupart des runtimes démarrent l’application en exécutant le fichier MAIN.

START

Une commande de démarrage personnalisée. Elle remplace la commande par défaut, qui exécute votre fichier MAIN.
  • Jusqu’à 256 caractères (INVALID_START au-delà).
  • Les dépendances sont toujours installées avant l’exécution de la commande.
  • La commande est relue dans le fichier à chaque démarrage : vous pouvez donc la changer en modifiant squarecloud.app dans le tableau de bord puis en redémarrant.
N’appelez que des scripts qui existent dans votre projet. START=npm run build && npm run start, par exemple, échoue sur une app Express sans script build dans package.json. Omettez START lorsque la commande par défaut suffit.

ID

Vous n’écrivez pas cette clé vous-même. Après squarecloud upload, la CLI Square Cloud ajoute ID=<ID de l'application> au fichier, afin que les commandes suivantes comme squarecloud commit sachent quelle application cibler. Square Cloud l’ignore lors du deploy.

Exemples

Bot

squarecloud.app

Site web ou API

squarecloud.app
Le site répond à l’adresse https://mysite.squareweb.app.

Next.js

Un framework qui a besoin d’une étape de build utilise START. Ici, MAIN sert seulement à sélectionner le runtime Node.js : faites-le pointer vers votre vrai fichier de configuration (comme next.config.mjs) ; les scripts de build et de démarrage viennent de package.json.
squarecloud.app

Étapes suivantes

Variables d'environnement

Gardez tokens et chaînes de connexion hors de votre code et de votre zip.

squarecloud.ignore

Choisissez les fichiers que la CLI et VS Code excluent de l’envoi.

Runtimes

Versions, fichiers de dépendances et façon dont chaque runtime démarre votre app.

Dépannage

Ce que signifie chaque erreur de deploy et comment la corriger.