🚀 Módulo 7: Despliegue y producción
Este módulo te guía para publicar tu bot en un entorno de producción utilizando herramientas como PM2, servidores VPS, configuración de seguridad, y estrategias de escalabilidad. Esto te permitirá mantener el bot activo 24/7, sin depender de tu computadora local.
8.1 ¿Por qué desplegar?
Desplegar tu bot en producción te permite:
- Mantenerlo disponible 24/7
- Ejecutarlo desde un servidor externo
- Integrar con otras APIs en la nube
- Evitar cierres inesperados o QR caducado
8.2 Uso de PM2 para mantener el bot activo
Instalación:
npm install -g pm2
Ejecutar tu bot:
pm run dev # o node index.js
Mantener activo con PM2:
pm run build # si usas un bundler
pm run start
# o directamente
pm2 start index.js --name chatbot
Ver estado y logs:
pm2 status
pm2 logs chatbot
Guardar y reiniciar automáticamente:
pm2 save
pm2 startup # para reiniciar con el sistema
8.3 Despliegue en un VPS (Servidor Privado Virtual)
Puedes usar servicios como:
- DigitalOcean
- Linode
- Contabo
- AWS EC2 / Lightsail
- Hetzner
Pasos básicos:
-
Contrata un VPS con Ubuntu 20.04 o superior
-
Accede por SSH:
ssh usuario@IP_DEL_SERVIDOR -
Instala Node.js, Git y PM2
-
Clona tu repositorio:
git clone https://github.com/tuusuario/tu-bot.git
cd tu-bot && npm install
pm2 start index.js --name chatbot
8.4 Recomendaciones de seguridad
- 🔐 Usa
.envpara almacenar claves/API keys - 🔒 Bloquea puertos innecesarios con
ufw - 🚫 Nunca ejecutes con usuario root directamente
- 🔁 Reinicia sesiones Baileys de forma controlada
8.5 Escalabilidad básica
- Usa logs con herramientas como
winstonopino - Divide tu código en módulos reutilizables
- Si usas Meta API, puedes escalar horizontalmente
- Considera usar colas como Redis o RabbitMQ para procesos pesados
✅ Resumen del Módulo 8
| Recurso | Descripción |
|---|---|
| PM2 | Mantiene tu bot activo incluso si cierras la terminal |
| VPS | Servidor remoto para producción 24/7 |
| Seguridad | Protección de claves, puertos y procesos |
| Escalabilidad | Mejora de rendimiento y organización modular |
📦 ¿Qué sigue?
En el Módulo 9, exploraremos extensiones avanzadas como soporte multilenguaje, integración con GPT, logs inteligentes y paneles administrativos personalizados.