Introduction
Pour développer et héberger une application Phoenix 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 d’Erlang/OTP et d’Elixir sur votre machine. Si ce n’est pas le cas, suivez le guide d’installation officiel d’Elixir. Installez le générateur de projets Phoenix et créez un projet :--no-ecto crée un projet sans base de données, la configuration la plus simple à déployer. Retirez cette option si vous avez besoin d’Ecto, puis consultez Variables d’environnement pour l’adresse de la base de données. Démarrez le serveur de développement :
http://localhost:4000 en développement.
Générer le build de production
Square Cloud génère le build de votre application au démarrage : avant d’exécuter votre commandeSTART, il récupère vos dépendances avec mix deps.get. La commande START ci-dessous compile ensuite l’application en mode production (MIX_ENV=prod), génère et condense les assets avec mix assets.deploy, puis démarre le serveur. Vous n’avez rien à compiler sur votre machine, et votre ZIP contient le code source du projet.
Port et hôte
Rien à modifier : en production, le fichierconfig/runtime.exs généré lit la variable d’environnement PORT, que Square Cloud définit à 80, et é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 :
MAIN=mix.exs indique à Square Cloud que le projet s’exécute sur Elixir, et START remplace la commande par défaut mix run --no-halt. mix phx.server démarre le serveur web : vous n’avez donc pas besoin de PHX_SERVER. Les projets avec Ecto peuvent appliquer les migrations à chaque démarrage en ajoutant MIX_ENV=prod mix ecto.migrate && avant mix phx.server.
Contenu du ZIP
mix.exsetmix.lock.config/,lib/,assets/,priv/et les autres dossiers source.squarecloud.app.
_build/, qui contient des fichiers compilés pour votre machine, et deps/ : Square Cloud récupère à nouveau les dépendances et compile tout sous Linux.
_build/prod/rel/my_app/bin/my_app, la commande est donc START=PHX_SERVER=true _build/prod/rel/my_app/bin/my_app start ; PHX_SERVER=true fait démarrer le serveur web par la release. Gardez mix.exs et mix.lock dans le ZIP, car Square Cloud exécute mix deps.get avant START.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.environment variable SECRET_KEY_BASE is missing
DéfinissezSECRET_KEY_BASE comme indiqué dans Variables d’environnement, puis redémarrez l’application.
LiveView se reconnecte sans cesse
PHX_HOST ne correspond pas à l’adresse affichée dans le navigateur. Définissez-le avec votre sous-domaine ou votre domaine personnalisé, puis redémarrez l’application.

