Entorno Cloud

Si deseas tener tu chatbot en ejecución en un servidor en la nube, esta guía te ayudará. El servidor deberá cumplir con los requisitos mínimos, puedes ver en este enlace.


Dependiendo de tu proveedor de servicio Cloud debes crear una instancia (máquina virtual), este ejemplo iremos orientando en un entorno de AWS. En nuestro ejemplo creamos una maquina virtual con Ubuntu 20.04


Posterior al proceso de crear la máquina esperamos unos minutos hasta que ya está operativo y tomamos nota del usuario y la IP pública para proceder a conectarnos vía SSH

Conectarse via SSH

Luego de obtener los datos necesarios para conectarnos a nuestra máquina, procedemos a hacerlo

ssh -i llaveBot.pem ubutnu@34.228.208.104

Luego puede aparecer un mensaje como el siguiente donde solo debes de responder yes


Una vez conectado ya estás dentro de la máquina virtual, te aconsejamos la primera vez hacer una actualización de dependencias de Ubuntu con los siguientes comandos

sudo apt-get update
sudo apt-get upgrade

Recuerda instalar Node 16 o superior

Puedes ver más a detalle los pasos de la instalacion en este blog

curl -sL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh
sudo bash nodesource_setup.sh
sudo apt-get install -y nodejs

Implementar el bot

Si tienes el código de tu chatbot en un repositorio, solo falta que clones el repo en el servidor y ejecutes npm start

Para escanear el QR puedes hacerlo vía WEB accediendo a la URL http://[TU_IP_PUBLICA]:3000 en este ejemplo seria http://34.228.208.10:3000


Firewall

Si no te abre la pagina web asegurate de tener el puerto abierto en tu firewall. Ejemplo permitir el puerto 3000


Escanear QR


Ejecutar en Producción

Debes ubicarte en el directorio donde tienes el codigo fuente de tu chatbot.

Independientemente de tu sistema operativo deberás ejecutar el chatbot con el comando atrevés de un sistema que mantenga el proceso en ejecución. Recomendamos Pm2

pm2 start app.js --name=bot1

La consola de devolver un mensaje con una lista de procesos, en el ejemplo puedes observar, que tenemos un proceso llamado bot1

De esta manera ya puedes cerrar la terminal y tu bot seguirá en ejecución sin problema