Introduction
Pour développer et héberger une application Ruby on Rails sur Square Cloud, il est essentiel de suivre une séquence structurée de configurations et de prérequis. Ce guide technique couvrira l’ensemble du processus, de la configuration initiale au déploiement en production.Prérequis
- Compte Square Cloud : Inscrivez-vous via la page d’inscription en utilisant votre adresse e-mail.
- Plan actif : Garantit des ressources dédiées et des performances optimisées pour votre application. Consultez nos plans disponibles et choisissez celui qui convient le mieux à vos besoins.
Créer le projet
Vous avez besoin de Ruby et de Bundler sur votre machine. Si vous n’avez pas encore Ruby, téléchargez-le depuis le site officiel de Ruby. Installez Rails et créez un projet :storage/ : ils fonctionnent donc sans base de données externe. Démarrez le serveur de développement :
http://localhost:3000 en développement. Gardez le port par défaut sur votre machine : vous n’avez pas besoin du port 80 en local.
Générer le build de production
Square Cloud prépare l’application au démarrage : il exécutebundle install pour installer les gems de votre Gemfile, puis votre commande START précompile les assets et prépare la base de données. Le runtime Ruby définit RACK_ENV=production, donc Rails s’exécute en mode production.
Port et hôte
Rien à modifier :rails server lit la variable d’environnement PORT, que Square Cloud définit à 80, et en production il écoute sur toutes les interfaces réseau.
Variables d’environnement
Définissez ces variables d’environnement dans le tableau de bord ou avecsquarecloud app env set :
Configurer Square Cloud
Créez un fichiersquarecloud.app à la racine de votre projet :
- supprime un fichier PID de serveur laissé par une exécution précédente, qui empêcherait Rails de démarrer ;
rails assets:precompilegénère votre CSS et votre JavaScript danspublic/assets;rails db:preparecrée les bases de données ou applique les migrations en attente ;rails serverdémarre Puma.
RUNTIME=ruby sélectionne le runtime Ruby sans fichier MAIN. Les commandes utilisent bundle exec rails au lieu de bin/rails, car un ZIP créé sous Windows peut perdre la permission d’exécuter bin/rails.
Contenu du ZIP
- L’ensemble de votre projet :
app/,bin/,config/,db/,lib/,public/,Gemfile,Gemfile.locketconfig.ru. squarecloud.app.
config/master.key (la clé va dans RAILS_MASTER_KEY), log/, tmp/ et les bases de données locales de storage/.
Déployer et vérifier
Via le tableau de bord
Accéder à la page d'upload
Configurer votre environnement
Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
Déployer votre projet
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.

Confirmez que votre application est en ligne
Si vous avez déployé un site web ou une API, ouvrez
https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Via la CLI
Pour utiliser cette méthode, votre projet a besoin d’un fichier de configuration nommésquarecloud.app à sa racine. Il indique à Square Cloud comment exécuter votre application.
Guide du fichier de configuration
squarecloud.app qui définit l’environnement de votre application.Installer la CLI
Se connecter
Téléverser votre projet
squarecloud.ignore, puis l’envoie :--file :Confirmez que votre application est en ligne
https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Erreurs courantes
Domaine personnalisé
mysite.com) au lieu de l’URL par défaut mysite.squareweb.app, vous avez besoin du plan Standard ou supérieur. L’URL par défaut provient du champ SUBDOMAIN du fichier de configuration. Pour connecter votre domaine, suivez comment configurer votre propre domaine.Prérequis minimum en RAM
Impossible de trouver ce site.
Le site a mis trop de temps à répondre…
80) et HOST (0.0.0.0) dans votre application : lisez-les dans votre code au lieu de coder en dur d’autres valeurs. Un serveur qui n’écoute que sur localhost ou 127.0.0.1 ne reçoit jamais de requêtes.Missing secret_key_base or ActiveSupport::MessageEncryptor::InvalidMessage
RAILS_MASTER_KEY est absente ou ne correspond pas à config/credentials.yml.enc. Copiez le contenu du config/master.key qui a créé ces identifiants, puis redémarrez l’application.

