# 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 ```bash # 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 ```bash # 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 ```bash # 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 ```bash df -h du -sh /var/lib/odoo du -sh /root/skeen-supabase/docker/volumes ``` ### 2.3 Verificación de Memoria ```bash free -h ps aux --sort=-%mem | head -20 ``` --- ## 3. Operaciones Mensuales ### 3.1 Actualizaciones de Seguridad ```bash # 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 ```bash # 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 ```bash sudo certbot certificates ``` --- ## 4. Monitoreo ### 4.1 Uptime Kuma (a instalar) ```bash # 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 ```bash # 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 ```bash # 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 ```bash # 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 ```bash # 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 ```bash # 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 1. Verificar tokens en WACRM Settings. 2. Verificar webhook configurado en Meta. 3. Verificar templates aprobados. 4. Revisar logs de WACRM. --- ## 6. Backups y Restauración ### 6.1 Backup Automatizado Crear `/etc/cron.daily/skeen-backup`: ```bash #!/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" ``` ```bash chmod +x /etc/cron.daily/skeen-backup ``` ### 6.2 Restauración Odoo ```bash # 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 ```bash # 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 ```bash 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 ```bash 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 ```bash 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: 1. **VM 1:** Frontend + nginx + Bridge 2. **VM 2:** Odoo + PostgreSQL 3. **VM 3:** WACRM + Supabase 4. **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