Passer au contenu principal

Introduction

Pour développer et héberger 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 payant 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.

Pourquoi utiliser Evolution API ?

Evolution API offre une façon plus simple d’utiliser de nombreux outils au même endroit, en intégrant n8n, chatwoot et d’autres outils. Ce projet vous permet de créer et de connecter rapidement une instance via son interface ou via son API, en gérant plusieurs instances de bots au même endroit.

Configuration du projet

Tout d’abord, vous devez obtenir le projet depuis une source. Vous pouvez l’obtenir depuis le dépôt officiel ou depuis notre dépôt qui contient déjà les fichiers nécessaires au déploiement dans les releases.

Configuration de la base de données

Pour commencer la configuration, nous avons besoin d’une base de données. Vous pouvez en héberger une sur Square Cloud si vous disposez du plan Standard ou supérieur. Après sa création, nous devons définir dans notre .env l’URL sous DATABASE_CONNECTION_URI et créer le certificat client pour la connexion PostgreSQL. Voici un exemple de la configuration nécessaire :
.env
DATABASE_PROVIDER=postgresql
DATABASE_CONNECTION_URI='postgresql://squarecloud:password@host:port/database?sslmode=require&sslidentity=path/to/client-identity.p12&sslpassword=p12password'
DATABASE_CONNECTION_CLIENT_NAME='evolution_exchange'
DATABASE_SAVE_DATA_INSTANCE=true
DATABASE_SAVE_DATA_NEW_MESSAGE=true
DATABASE_SAVE_MESSAGE_UPDATE=true
DATABASE_SAVE_DATA_CONTACTS=true
DATABASE_SAVE_DATA_CHATS=true
DATABASE_SAVE_DATA_LABELS=true
DATABASE_SAVE_DATA_HISTORIC=true
DATABASE_SAVE_IS_ON_WHATSAPP=true
DATABASE_SAVE_IS_ON_WHATSAPP_DAYS=7
DATABASE_DELETE_MESSAGE=true
Une fois la variable d’environnement et le certificat définis, vous devez appliquer les migrations sur votre base de données. Pour ce faire, vous devez avoir le fichier runWithProvider.js dans le dossier du projet et exécuter la commande suivante :
npm run db:deploy:win

Configuration du serveur

Comme indiqué dans le fichier .env.example du dépôt, vous devez définir certaines variables d’environnement : server_type, server_port, server_url et la langue.
.env
SERVER_NAME=evolution
SERVER_TYPE=http
SERVER_PORT=80
# Change the SERVER_URL to your actual server URL.
# you change it to your app url, selected when creating the app
# or when set a domain
SERVER_URL="https://my-evolution-api.squareweb.app"
LANGUAGE=en
# Other variables below...
Il est important de configurer une clé d’API globale sécurisée pour éviter tout accès non autorisé.
.env
# Other variables...
AUTHENTICATION_API_KEY=MySuperSecureAPIKEY

Déploiement

Pour le déployer sur Square Cloud, il vous suffit de définir la commande de démarrage et de publier sur le web. Pour l’installation et la compilation, nous recommandons d’utiliser 3096 Mo de RAM.
startup command
npx prisma generate --schema prisma/postgresql-schema.prisma && npm run build && npm run start:prod

Via le tableau de bord

1

Accéder à la page d'upload

Accédez à la page d’upload et téléversez le fichier zip de votre projet.
2

Configurer votre environnement

Après avoir téléversé votre zip, vous devrez configurer le nom, le fichier principal ou l’environnement d’exécution ainsi que d’autres paramètres de votre projet.
Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
3

Déployer votre projet

Enfin, cliquez sur le bouton « Deploy » pour héberger votre projet sur Square Cloud.
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.
Téléversement d'une application vers Square Cloud

Via la CLI

Pour utiliser cette méthode, vous devez créer un fichier de configuration nommé squarecloud.app à la racine de votre projet. Ce fichier contiendra la configuration nécessaire à votre projet.

En savoir plus : comment créer le fichier de configuration pour Square Cloud.

Le fichier squarecloud.app est un fichier de configuration qui servira à configurer votre application ; il sera utilisé pour définir votre environnement.
1

Installer la CLI

Tout d’abord, vous devez avoir la CLI installée dans votre environnement. Si ce n’est pas encore le cas, exécutez la commande suivante dans votre terminal :
npm install -g @squarecloud/cli
Si vous l’avez déjà, nous vous recommandons de la mettre à jour. Pour cela, exécutez la commande suivante dans votre terminal :
squarecloud update
2

S'authentifier

Maintenant, pour vous authentifier et utiliser les autres commandes de la CLI, vous trouverez votre clé d’autorisation ici en cliquant sur « Request API Key ». Après avoir obtenu votre clé d’autorisation, exécutez la commande suivante :
squarecloud auth login
3

Téléverser votre projet

Enfin, pour déployer votre application sur Square Cloud à l’aide de la CLI, vous devez exécuter la commande suivante :
squarecloud upload 
Ou si vous avez créé le zip manuellement, vous pouvez utiliser :
squarecloud upload --file <path/to/zip> 

Informations supplémentaires

Après la première exécution, vous pouvez réduire la RAM à 1536 Mo ou 2048 Mo et définir la commande de démarrage uniquement sur :
npm run start:prod

Système de cache

Vous pouvez configurer un système de cache dans Evolution API. Pour ce faire, vous aurez besoin d’une base de données Redis que vous pouvez également héberger sur Square Cloud.
Pour la configurer, vous devrez également télécharger le certificat et définir l’URL de connexion.
.env
CACHE_REDIS_ENABLED=true
CACHE_REDIS_URI="redis://default:MySecurePassword@square-cloud-db-ID.squareweb.app:7170"
CACHE_REDIS_TTL=604800
# Prefix serves to differentiate data from one installation to another that are using the same redis
CACHE_REDIS_PREFIX_KEY=evolution
# Enabling this variable will save the connection information in Redis and not in the database.
CACHE_REDIS_SAVE_INSTANCES=false

Dépannage

Domaine personnalisé

Pour utiliser un domaine personnalisé (par exemple mysite.com) au lieu de l’URL par défaut mysite.squareweb.app, vous avez besoin du plan Standard ou supérieur. Le sous-domaine est défini par le champ SUBDOMAIN dans le fichier de configuration.

Prérequis minimum en RAM

Minimum : 512 Mo de RAM pour les sites web/API simples. Pour les sites utilisant des frameworks (Next.JS, React, Vue, Angular, etc.), nous recommandons toujours au moins 1 Go de RAM. Pour les applications plus volumineuses, allouez davantage de RAM afin d’éviter que l’application ne manque de mémoire et ne plante.

Impossible de trouver ce site.

Vérifiez que le sous-domaine/domaine correspond à ce qui est configuré dans le champ SUBDOMAIN ou dans les paramètres du domaine personnalisé. Si vous venez tout juste de mettre en ligne le site, patientez jusqu’à 60 secondes pour que Square active le premier accès.

Le site a mis trop de temps à répondre…

Vérifiez que vous avez correctement configuré le port 80 et l’hôte 0.0.0.0 dans l’application. Nous recommandons d’utiliser les variables d’environnement forcées par Square : PORT et HOST du fichier .env.

Contactez-nous

Si vous rencontrez toujours des difficultés techniques, notre équipe de support spécialisée est disponible pour vous aider. Contactez-nous et nous serons ravis de vous aider à résoudre tout problème.