# MSP Monitor Dashboard Dashboard de monitoreo unificado para Proveedores de Servicios Administrados (MSP). Integra MeshCentral, LibreNMS y Headwind MDM en una sola interfaz moderna con tema oscuro cyan/navy. ![Dashboard Preview](docs/images/dashboard-preview.png) ## Caracteristicas - **Monitoreo Unificado**: Visualiza todos tus dispositivos en una sola interfaz - **Multi-Tenant**: Gestion de multiples clientes con aislamiento de datos - **Control Remoto**: Acceso a escritorio, terminal y archivos via MeshCentral - **MDM Empresarial**: Gestion completa de dispositivos Android con Headwind MDM - **Monitoreo de Red**: SNMP, NetFlow y alertas via LibreNMS - **Sistema de Alertas**: Reglas personalizables con notificaciones por email, SMS y webhook - **Reportes**: Inventario, uptime, alertas y actividad de usuarios - **API Type-Safe**: Backend con tRPC para comunicacion tipada ## Stack Tecnologico | Componente | Tecnologia | |------------|------------| | Frontend | Next.js 14, React, Tailwind CSS | | Backend | Next.js API Routes, tRPC | | Base de Datos | PostgreSQL 16 + Prisma ORM | | Cache/Queue | Redis 7 + BullMQ | | Monitoreo PC | MeshCentral | | Monitoreo Red | LibreNMS | | MDM Movil | Headwind MDM | | Proxy/SSL | Nginx + Let's Encrypt | | Contenedores | Docker + Docker Compose | ## Inicio Rapido ### Requisitos - Node.js 20+ - Docker y Docker Compose - Acceso a MeshCentral, LibreNMS y/o Headwind MDM ### Instalacion ```bash # Clonar repositorio git clone https://git.consultoria-as.com/msp/msp-monitor-dashboard.git cd msp-monitor-dashboard # Ejecutar script de setup chmod +x scripts/setup.sh ./scripts/setup.sh ``` ### Configuracion Rapida 1. Copia el archivo de configuracion: ```bash cp .env.example .env ``` 2. Edita `.env` con tus credenciales: ```env # Base de datos DATABASE_URL="postgresql://user:pass@localhost:5432/msp_monitor" # Integraciones MESHCENTRAL_URL="https://mesh.tudominio.com" MESHCENTRAL_USER="admin" MESHCENTRAL_PASS="password" LIBRENMS_URL="https://librenms.tudominio.com" LIBRENMS_TOKEN="tu-token" HEADWIND_URL="https://mdm.tudominio.com" HEADWIND_TOKEN="tu-token" ``` 3. Inicia los servicios: ```bash # Desarrollo npm run dev # Produccion docker-compose -f docker/docker-compose.yml up -d ``` 4. Accede al dashboard en `http://localhost:3000` ## Estructura del Proyecto ``` msp-monitor-dashboard/ ├── src/ │ ├── app/ # Next.js App Router │ │ ├── (dashboard)/ # Paginas del dashboard │ │ └── api/ # API endpoints │ ├── components/ # Componentes React │ │ ├── layout/ # Layout components │ │ └── dashboard/ # Dashboard components │ ├── server/ # Backend │ │ ├── trpc/ # tRPC routers │ │ ├── services/ # Clientes de integracion │ │ └── jobs/ # Workers de procesamiento │ ├── lib/ # Utilidades │ └── types/ # Tipos TypeScript ├── prisma/ # Schema de base de datos ├── docker/ # Configuracion Docker │ ├── nginx/ # Configuracion Nginx │ └── docker-compose.yml ├── scripts/ # Scripts de utilidad └── docs/ # Documentacion ``` ## Documentacion - [Arquitectura](docs/arquitectura/README.md) - [API Reference](docs/api/README.md) - [Guia de Instalacion](docs/guias/instalacion.md) - [Guia de Configuracion](docs/guias/configuracion.md) ## Comandos Utiles ```bash # Desarrollo npm run dev # Iniciar servidor de desarrollo npm run build # Compilar para produccion npm run lint # Verificar codigo # Base de datos npm run db:generate # Generar cliente Prisma npm run db:push # Aplicar schema a BD npm run db:studio # Abrir Prisma Studio # Workers npm run jobs:start # Iniciar workers de procesamiento # Docker docker-compose -f docker/docker-compose.yml up -d # Iniciar servicios docker-compose -f docker/docker-compose.yml down # Detener servicios docker-compose -f docker/docker-compose.yml logs -f # Ver logs # Backups ./scripts/backup-db.sh # Crear backup ./scripts/restore-db.sh /ruta/backup.sql.gz # Restaurar backup ``` ## Contribuir 1. Fork el repositorio 2. Crea una rama para tu feature (`git checkout -b feature/nueva-funcionalidad`) 3. Commit tus cambios (`git commit -am 'Agregar nueva funcionalidad'`) 4. Push a la rama (`git push origin feature/nueva-funcionalidad`) 5. Crea un Pull Request ## Licencia Este proyecto es privado y propietario de Consultoria AS. ## Soporte Para soporte tecnico, contacta a: - Email: soporte@consultoria-as.com - Web: https://consultoria-as.com --- Desarrollado con ❤️ por [Consultoria AS](https://consultoria-as.com)