Initial commit: MSP Monitor Dashboard
- Next.js 14 frontend with dark cyan/navy theme - tRPC API with Prisma ORM - MeshCentral, LibreNMS, Headwind MDM integrations - Multi-tenant architecture - Alert system with email/SMS/webhook notifications - Docker Compose deployment - Complete documentation
This commit is contained in:
165
README.md
Normal file
165
README.md
Normal file
@@ -0,0 +1,165 @@
|
||||
# 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.
|
||||
|
||||

|
||||
|
||||
## 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)
|
||||
Reference in New Issue
Block a user