- Frontend React (SKEEN Brand) con Vite, TypeScript, Tailwind - Frontend Homenest (versión alternativa) - Módulos Odoo 17 custom (citas, pacientes, monedero, pagos, ventas, inventario, whatsapp) - WACRM fork (Next.js 16 + Supabase) - Hermes + Bridge + Skills (Qwen3.6 via Nan Builders) - Scripts de migración y operación - Documentación extensiva en docs/
7.8 KiB
7.8 KiB
Mantenimiento y Operación — SKEEN Derma Experts
Versión: 2.0
Fecha: 16 de julio de 2026
1. Operaciones Diarias
1.1 Verificación de Servicios
# Estado de puertos
ss -tlnp | grep -E "3000|5173|8069|8000|8090|8644|8080|9119|5433"
# Health checks
curl http://localhost:8069/web/health
curl http://localhost:8090/health
curl http://localhost:8069/skeen/frontend/v1/health
# Estado Docker (Supabase)
cd /root/skeen-supabase/docker && docker compose ps
1.2 Logs Principales
# WACRM
tail -f /tmp/wacrm.log
# Odoo
tail -f /tmp/odoo.log
# Bridge
tail -f /tmp/hermes-bridge.log
# Hermes Gateway
tail -f /tmp/hermes-gateway.log
# Hermes Serve
tail -f /tmp/hermes-serve.log
# Frontend (dev)
tail -f /tmp/frontend.log
# nginx
tail -f /var/log/nginx/access.log
tail -f /var/log/nginx/error.log
2. Operaciones Semanales
2.1 Limpieza de Logs
# Rotación manual si no hay logrotate
mv /tmp/odoo.log /tmp/odoo.log.$(date +%Y%m%d)
mv /tmp/wacrm.log /tmp/wacrm.log.$(date +%Y%m%d)
mv /tmp/hermes-bridge.log /tmp/hermes-bridge.log.$(date +%Y%m%d)
# Reiniciar servicios para recrear logs
systemctl restart odoo
# o reiniciar manualmente según el método de inicio
2.2 Verificación de Espacio en Disco
df -h
du -sh /var/lib/odoo
du -sh /root/skeen-supabase/docker/volumes
2.3 Verificación de Memoria
free -h
ps aux --sort=-%mem | head -20
3. Operaciones Mensuales
3.1 Actualizaciones de Seguridad
# Sistema
sudo apt update && sudo apt upgrade -y
# Node.js (si hay nueva versión LTS)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs
# Dependencias npm (frontend)
cd /root/skeen-frontend && npm audit fix
# Dependencias npm (WACRM)
cd /root/skeen-wacrm && npm audit fix
3.2 Revisión de Backups
# Verificar backups recientes
ls -la /root/backups/
# Probar restauración (en entorno de prueba)
gunzip -c /root/backups/odoo_YYYYMMDD.sql.gz | psql -U skeen -d skeen_odoo_test
3.3 Revisión de Certificados
sudo certbot certificates
4. Monitoreo
4.1 Uptime Kuma (a instalar)
# Instalar Uptime Kuma
docker run -d --restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
--name uptime-kuma \
louislam/uptime-kuma:1
Monitores a configurar:
- Frontend React:
http://localhost:5173 - Odoo:
http://localhost:8069/web/health - WACRM:
http://localhost:3000 - Bridge:
http://localhost:8090/health - Supabase:
http://localhost:8000
Alertas:
- Email: ialcarazsalazar@consultoria-as.com
- WhatsApp: (vía webhook a WACRM)
4.2 Métricas Clave
| Métrica | Umbral | Acción |
|---|---|---|
| CPU | > 80% por 5 min | Investigar proceso |
| RAM | > 90% | Reiniciar servicios si es necesario |
| Disco | > 85% | Limpiar logs/backups |
| Response time Odoo | > 5s | Optimizar queries |
| Response time WACRM | > 3s | Reiniciar WACRM |
| Errores 5xx | > 10/min | Revisar logs |
5. Troubleshooting
5.1 WACRM no responde
# Verificar proceso
ps aux | grep node | grep wacrm
# Verificar logs
tail -100 /tmp/wacrm.log
# Reiniciar
cd /root/skeen-wacrm && pkill -f "next start" && npm start
5.2 Odoo no responde
# Verificar proceso
ps aux | grep odoo
# Verificar PostgreSQL
sudo -u postgres psql -d skeen_odoo -c "SELECT 1;"
# Verificar logs
tail -100 /tmp/odoo.log
# Reiniciar
pkill -f "odoo-bin"
cd /root/skeen-odoo && ./odoo-bin -c odoo.conf --logfile=/tmp/odoo.log
5.3 Bridge no responde
# Verificar proceso
ps aux | grep webhook-bridge
# Verificar logs
tail -100 /tmp/hermes-bridge.log
# Reiniciar
pkill -f "webhook-bridge.js"
cd /root/skeen-roadmap-hermes/hermes && node webhook-bridge.js
5.4 Supabase no responde
# Verificar contenedores
cd /root/skeen-supabase/docker && docker compose ps
# Ver logs
docker compose logs db
docker compose logs kong
docker compose logs auth
# Reiniciar
docker compose restart
5.5 Frontend no carga
# Verificar nginx
sudo nginx -t
sudo systemctl status nginx
# Verificar build
ls -la /var/www/skeen-frontend/
# Rebuild si es necesario
cd /root/skeen-frontend && npm run build
sudo cp -r dist/* /var/www/skeen-frontend/
5.6 WhatsApp no envía mensajes
- Verificar tokens en WACRM Settings.
- Verificar webhook configurado en Meta.
- Verificar templates aprobados.
- Revisar logs de WACRM.
6. Backups y Restauración
6.1 Backup Automatizado
Crear /etc/cron.daily/skeen-backup:
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR=/root/backups
# PostgreSQL Odoo
pg_dump -U skeen -h localhost skeen_odoo | gzip > $BACKUP_DIR/odoo_$DATE.sql.gz
# PostgreSQL Supabase
docker exec supabase-db pg_dump -U postgres postgres | gzip > $BACKUP_DIR/supabase_$DATE.sql.gz
# Archivos
tar -czf $BACKUP_DIR/files_$DATE.tar.gz \
/root/skeen-frontend \
/root/skeen-wacrm \
/root/skeen-odoo/addons/skeen_* \
/root/skeen-roadmap-hermes \
/root/migracion
# Limpiar antiguos
find $BACKUP_DIR -name "*.sql.gz" -mtime +30 -delete
find $BACKUP_DIR -name "*.tar.gz" -mtime +30 -delete
echo "Backup completado: $DATE"
chmod +x /etc/cron.daily/skeen-backup
6.2 Restauración Odoo
# Detener Odoo
pkill -f "odoo-bin"
# Restaurar base de datos
gunzip -c /root/backups/odoo_YYYYMMDD.sql.gz | psql -U skeen -d skeen_odoo
# Reiniciar Odoo
cd /root/skeen-odoo && ./odoo-bin -c odoo.conf --logfile=/tmp/odoo.log
6.3 Restauración Supabase
# Detener Supabase
cd /root/skeen-supabase/docker && docker compose down
# Restaurar base de datos
gunzip -c /root/backups/supabase_YYYYMMDD.sql.gz | docker exec -i supabase-db psql -U postgres -d postgres
# Reiniciar Supabase
docker compose up -d
7. Actualización del Sistema
7.1 Actualizar Frontend
cd /root/skeen-frontend
git pull origin main
npm install
npm run build
sudo cp -r dist/* /var/www/skeen-frontend/
7.2 Actualizar Módulos Odoo
cd /root/skeen-odoo
git pull origin main
# Actualizar módulos custom
/root/odoo-venv/bin/python ./odoo-bin -c odoo.conf -u skeen_citas,skeen_pacientes,skeen_monedero,skeen_pagos,skeen_ventas,skeen_inventario,skeen_whatsapp -d skeen_odoo --stop-after-init --no-http
7.3 Actualizar WACRM
cd /root/skeen-wacrm
git pull origin main
npm install
npm run build
pkill -f "next start"
npm start
8. Escalabilidad
8.1 Cuando el sistema crezca
| Señal | Acción |
|---|---|
| CPU > 70% constante | Migrar a VPS más grande |
| RAM > 80% constante | Aumentar RAM o separar servicios |
| Disco > 80% | Aumentar disco o mover backups a externo |
| Muchos usuarios concurrentes | Load balancer + múltiples instancias |
| Muchas conversaciones WhatsApp | WACRM escalado horizontalmente |
8.2 Separación de Servicios
Cuando sea necesario:
- VM 1: Frontend + nginx + Bridge
- VM 2: Odoo + PostgreSQL
- VM 3: WACRM + Supabase
- VM 4: Hermes Gateway + Serve
9. Contacto de Soporte
- Email: ialcarazsalazar@consultoria-as.com
- Gitea Issues: https://git.consultoria-as.com/consultoria-as/SKEEN-Proyecto/issues
- Horario: Lun-Vie 9:00-18:00 (hora del Pacífico)
10. Checklist de Mantenimiento
Diario
- Verificar servicios corriendo
- Revisar logs de errores
- Verificar backups del día anterior
Semanal
- Limpiar logs antiguos
- Verificar espacio en disco
- Verificar uso de memoria
- Probar flujo end-to-end (WhatsApp → Odoo → Frontend)
Mensual
- Actualizar sistema y dependencias
- Revisar y probar backups
- Revisar certificados SSL
- Revisar accesos y API keys
- Revisar métricas de uso
Trimestral
- Rotar secretos y API keys
- Revisar políticas de seguridad
- Actualizar documentación
- Pruebas de recuperación de desastres