HyperDesk es una plataforma web de virtualizacion para gestionar maquinas virtuales en un panel estilo cloud lab.
Estado actual:
- Fase 1 completada (arquitectura, modelo de datos y contratos).
- Fase 2/3 base completada (monorepo, backend funcional core, frontend base y Docker Compose).
- Login con JWT y refresh token.
- RBAC basico (
ADMIN,OPERATOR,VIEWER). - CRUD de usuarios.
- Listado y administracion de roles.
- Gestion de VMs: listar, crear, detalle, start/stop/reboot/delete.
- Gestion de hypervisors: listar, crear, editar, borrar.
- Subida de ISO desde PC (upload directo a servidor).
- Dashboard de metricas base.
- Auditoria de acciones criticas.
- Capa de provider de virtualizacion con
mockylibvirtreal (viavirsh). - Consola remota:
VNCweb funcional via noVNC (modo mock listo para usar en local).RDPvia archivo.rdpdescargable para cliente nativo.- En modo
libvirt, tunel RDP automatico (localhost) para uso sin rutas manuales.
- Frontend: Next.js + TypeScript + Tailwind CSS
- Backend: Express + TypeScript
- DB: PostgreSQL + Prisma ORM
- Auth: JWT + bcrypt + sesiones de refresh token
- Infra local: Docker Compose
apps/
api/
web/
contracts/
docs/
docker-compose.yml- Copiar variables:
cp .env.example .env- Levantar stack:
docker compose up -d --buildAtajo recomendado (levanta todo + migrate + seed):
.\start-hyperdesk.ps1Parar stack:
.\stop-hyperdesk.ps1- Endpoints base:
- Web:
http://localhost:3000 - API:
http://localhost:4000 - Health:
http://localhost:4000/health - noVNC (mock):
http://localhost:6081
Modo real KVM/libvirt:
- Editar
.envy ponerHYPERVISOR_PROVIDER=libvirt. - Configurar
LIBVIRT_*(URI/pool/network). - Reiniciar stack con
.\start-hyperdesk.ps1.
Opciones recomendadas:
- Libvirt remoto (funciona en Windows/macOS/Linux con Docker):
LIBVIRT_DEFAULT_URI=qemu+ssh://usuario@host/system
- Libvirt local (host Linux con libvirt):
docker compose -f docker-compose.yml -f docker-compose.libvirt-local.yml up -d --build
Acceso desde otro PC (LAN):
- En
.env, cambia URLslocalhostporhttp://IP_DE_TU_PC:CORS_ORIGIN,API_PUBLIC_URL,WEB_PUBLIC_URL,NEXT_PUBLIC_API_URL,NEXT_PUBLIC_NOVNC_URLREMOTE_CONSOLE_RDP_TUNNEL_PUBLIC_HOST=IP_DE_TU_PC
- Abre puertos TCP en el firewall/router del PC servidor:
3000,4000,6081(opcional),13389-13489
- Arquitectura
- Modelo de datos
- API
- Flujos
- Instalacion local
- Variables de entorno
- Libvirt/QEMU
- Roadmap produccion
- Release notes v0.1.0
- Changelog
- Email:
admin@hyperdesk.local - Password:
ChangeMe123! - Hypervisor demo:
lab-host-01(MOCK, ONLINE) - Network demo:
lab-nat(modo MOCK) /default(modo LIBVIRT por defecto) - Storage demo:
default-pool(modo MOCK) /default(modo LIBVIRT por defecto)
Cambiar estas credenciales en cuanto arranque el entorno.