Saltar al contenido principal

Introducción

Para desarrollar y alojar en Square Cloud, es esencial seguir una secuencia estructurada de configuraciones y requisitos previos. Esta guía técnica cubrirá todo el proceso, desde la configuración inicial hasta el despliegue en producción.

Requisitos previos

  • Cuenta de Square Cloud: Regístrate a través de la página de registro usando tu correo electrónico.
  • Plan de pago activo: Garantiza recursos dedicados y un rendimiento optimizado para tu aplicación. Consulta nuestros planes disponibles y elige el más adecuado para tus necesidades.

¿Por qué usar Evolution API?

Evolution API crea una forma más sencilla de usar muchas herramientas en un solo lugar, integrando n8n, chatwoot y otras herramientas. Este proyecto te permite crear y conectar rápidamente con una instancia a través de él o de su API, gestionando múltiples instancias de bots en un solo lugar.

Configurando el proyecto

Primero, necesitas obtener el proyecto desde alguna fuente. Puedes obtenerlo del repositorio oficial o de nuestro repositorio que ya tiene los archivos necesarios para desplegar en las releases.

Configuración de la base de datos

Para empezar la configuración, necesitamos una base de datos. Puedes alojar una en Square Cloud si tienes el plan Standard o superior. Tras crearla, necesitamos establecer en nuestro .env la URL como DATABASE_CONNECTION_URI y crear el certificado de cliente para la conexión de PostgreSQL. Aquí tienes un ejemplo de la configuración necesaria:
.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
Con la variable de entorno y el certificado configurados, necesitas aplicar las migraciones en tu base de datos. Para ello, necesitas tener el archivo runWithProvider.js dentro de la carpeta del proyecto y ejecutar el siguiente comando:
npm run db:deploy:win

Configuración del servidor

Como se muestra en el archivo .env.example del repositorio, necesitas establecer algunas variables de entorno: server_type, server_port, server_url y el idioma.
.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...
Es importante configurar una clave de API global segura para evitar accesos no autorizados.
.env
# Other variables...
AUTHENTICATION_API_KEY=MySuperSecureAPIKEY

Desplegando

Para desplegarlo en Square Cloud, solo necesitarás establecer el comando de inicio y publicar en la web. Para instalar y compilar, recomendamos usar 3096MB de RAM.
startup command
npx prisma generate --schema prisma/postgresql-schema.prisma && npm run build && npm run start:prod

A través del panel

1

Accede a la página de subida

Accede a la página de subida y sube el archivo zip de tu proyecto.
2

Configura tu entorno

Después de subir tu zip, deberás configurar el nombre, el archivo principal o el entorno de ejecución y otros ajustes de tu proyecto.
Si estás subiendo un proyecto web, asegúrate de seleccionar “Publicación Web” y de definir un subdominio para tu proyecto.
3

Despliega tu proyecto

Por último, haz clic en el botón “Deploy” para alojar tu proyecto en Square Cloud.
Tras el despliegue, puedes monitorear el estado y los logs de tu proyecto desde el panel.
Subiendo aplicación a Square Cloud

A través de la CLI

Para usar este método, necesitas crear un archivo de configuración llamado squarecloud.app en el directorio raíz de tu proyecto. Este archivo contendrá la configuración necesaria para tu proyecto.

Aprende más sobre: cómo crear el archivo de configuración para Square Cloud.

El archivo squarecloud.app es un archivo de configuración que se usará para configurar tu aplicación; se utilizará para definir tu entorno.
1

Instala la CLI

Primero, necesitas tener la CLI instalada en tu entorno. Si aún no la tienes, ejecuta el siguiente comando en tu terminal:
npm install -g @squarecloud/cli
Si ya la tienes, te recomendamos actualizarla. Para ello, ejecuta el siguiente comando en tu terminal:
squarecloud update
2

Autentícate

Ahora, para autenticarte y usar otros comandos de la CLI, encontrarás tu clave de autorización aquí haciendo clic en “Request API Key”. Después de obtener tu clave de autorización, ejecuta el siguiente comando:
squarecloud auth login
3

Sube tu proyecto

Por último, para desplegar tu aplicación en Square Cloud usando la CLI, necesitas ejecutar el siguiente comando:
squarecloud upload 
O si creaste el zip manualmente, puedes usar:
squarecloud upload --file <path/to/zip> 

Información adicional

Después de la primera ejecución, puedes reducir la RAM a 1536MB o 2048MB y establecer el comando de inicio únicamente como:
npm run start:prod

Sistema de caché

Puedes configurar un sistema de caché en Evolution API. Para ello, necesitarás una base de datos Redis que también puedes alojar en Square Cloud.
Para configurarlo, también necesitarás descargar el certificado y establecer la URL para conectarte.
.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

Solución de problemas

Dominio personalizado

Para usar un dominio personalizado (por ejemplo, mysite.com) en lugar de la URL predeterminada mysite.squareweb.app, necesitas el plan Standard o superior. El subdominio se define mediante el campo SUBDOMAIN en el archivo de configuración.

Requisitos mínimos de RAM

Mínimo: 512MB de RAM para sitios web/APIs sencillos. Para sitios con frameworks (Next.JS, React, Vue, Angular, etc.), siempre recomendamos al menos 1GB de RAM. Para aplicaciones más grandes, asigna más RAM para evitar que la aplicación se quede sin memoria y falle.

No se pudo encontrar este sitio.

Verifica que el subdominio/dominio coincida con lo configurado en el campo SUBDOMAIN o en la configuración del dominio personalizado. Si acabas de subir el sitio, espera hasta 60 segundos para que Square habilite el primer acceso.

El sitio tardó demasiado en responder…

Verifica que hayas configurado correctamente el puerto 80 y el host 0.0.0.0 en la aplicación. Recomendamos usar las variables de entorno forzadas de Square: PORT y HOST del archivo .env.

Contáctanos

Si continúas enfrentando dificultades técnicas, nuestro equipo de soporte especializado está disponible para ayudarte. Contáctanos y estaremos encantados de ayudarte a resolver cualquier problema.