Sobre el proyecto

Hola es una plataforma moderna de despliegue de aplicaciones para laboratorios domésticos, diseñada para entusiastas y usuarios avanzados. Proporciona una experiencia de usuario guiada para descubrir, instalar y gestionar aplicaciones autoalojadas en servidores personales, todo desde un panel web. El proyecto es un monorepo centrado en TypeScript que utiliza Bun workspaces, que contiene una interfaz web React, una API de servidor basada en Bun, tipos compartidos, una CLI, un SDK y una pila Docker Compose. Las funciones implementadas incluyen un catálogo de aplicaciones con búsqueda y detalles, un asistente de instalación guiado con edición de variables de entorno, anulaciones de Docker Compose, carga de archivos de configuración y secretos, validación estricta y comprobaciones previas. También están disponibles controles del ciclo de vida del despliegue (iniciar, detener, reiniciar, eliminar, revertir), enrutamiento basado en Traefik, comprobaciones de salud, registros en vivo y vistas de estado. El estado persiste entre reinicios, y la autenticación utiliza una clave de API de administrador. Los elementos pendientes en la hoja de ruta que aún no se han implementado incluyen notificaciones, copias de seguridad programadas con restauración desde la interfaz y SSO de aplicaciones mediante un proveedor de identidad externo. El proyecto se dirige explícitamente a entornos locales o autoalojados, no a casos de uso empresariales o multiinquilino. La estructura del monorepo incluye paquetes para web, servidor, compartido, CLI, SDK y compose. La pila tecnológica utiliza Bun 1.3.14, TypeScript 6.x, Vite, React, TailwindCSS, React Router y HTTP nativo de Bun con SSE. La instalación es sencilla: un instalador de una línea configura la pila de producción (Traefik + web + servidor) en un host con Docker y Docker Compose v2. La CLI se puede instalar por separado y configurarse para apuntar a un servidor existente mediante variables de entorno. Para desarrolladores, el repositorio proporciona scripts para desarrollo, pruebas (incluidas pruebas de integración con Docker real), verificación de tipos, linting y compilación. La documentación cubre arquitectura, operaciones, decisiones de autenticación y pautas de contribución.