À propos du projet
Hola est une plateforme moderne de déploiement d'applications pour home labs, conçue pour les passionnés et les utilisateurs avancés. Elle offre une expérience guidée pour découvrir, installer et gérer des applications auto-hébergées sur des serveurs personnels, le tout depuis un tableau de bord web. Le projet est un monorepo TypeScript-first utilisant les espaces de travail Bun, contenant une interface web React, une API serveur basée sur Bun, des types partagés, une CLI, un SDK et une pile Docker Compose.
Les fonctionnalités implémentées incluent un catalogue d'applications avec recherche et détails, un assistant d'installation guidé avec édition de variables d'environnement, des remplacements Docker Compose, des téléversements de fichiers de configuration/secrets, une validation stricte et des vérifications préalables. Les contrôles du cycle de vie du déploiement (démarrage, arrêt, redémarrage, suppression, restauration), le routage basé sur Traefik, les vérifications de santé, les journaux en direct et les vues de statut sont également disponibles. L'état persiste entre les redémarrages, et l'authentification utilise une clé API administrateur.
Les éléments de la feuille de route non encore implémentés incluent les notifications, les sauvegardes planifiées avec restaurations via l'interface, et l'authentification unique (SSO) des applications via un fournisseur d'identité externe. Le projet cible explicitement les environnements locaux/auto-hébergés, et non les cas d'utilisation d'entreprise ou multi-locataires.
La structure du monorepo comprend des packages pour le web, le serveur, les éléments partagés, la CLI, le SDK et la composition. La pile technologique utilise Bun 1.3.14, TypeScript 6.x, Vite, React, TailwindCSS, React Router et HTTP natif Bun avec SSE. L'installation est simple : un installateur en une ligne configure la pile de production (Traefik + web + serveur) sur un hôte avec Docker et Docker Compose v2. La CLI peut être installée séparément et configurée pour pointer vers un serveur existant via des variables d'environnement.
Pour les développeurs, le dépôt fournit des scripts pour le développement, les tests (y compris les tests d'intégration avec Docker réel), la vérification de types, le linting et la construction. La documentation couvre l'architecture, les opérations, les décisions d'authentification et les directives de contribution.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.