这个项目能做什么

Hola 是一个面向爱好者和高级用户的现代家庭实验室应用部署平台。它提供引导式用户体验,让用户可以通过 Web 仪表盘在个人服务器上发现、安装和管理自托管应用。该项目是一个 TypeScript 优先的 monorepo,使用 Bun workspaces,包含 React Web UI、基于 Bun 的服务器 API、共享类型、CLI、SDK 和 Docker Compose 栈。 已实现的功能包括:带搜索和详情页的应用目录、支持环境变量编辑的引导式安装向导、Docker Compose 覆盖、配置/密钥文件上传、严格验证和预检检查。还提供部署生命周期控制(启动、停止、重启、删除、回滚)、基于 Traefik 的路由、健康检查、实时日志和状态视图。状态在重启后持久保留,身份验证使用管理员 API 密钥。 尚未实现的路线图项目包括通知、带 UI 恢复的计划备份,以及通过外部身份提供商实现的应用 SSO。该项目明确面向本地/自托管环境,而非企业或多租户用例。 monorepo 结构包含 web、server、shared、CLI、SDK 和 compose 等包。技术栈使用 Bun 1.3.14、TypeScript 6.x、Vite、React、TailwindCSS、React Router,以及 Bun 原生 HTTP 和 SSE。安装非常简单:一行安装脚本即可在装有 Docker 和 Docker Compose v2 的主机上搭建生产栈(Traefik + web + server)。CLI 可以单独安装,并通过环境变量配置为指向现有服务器。 对于开发者,该仓库提供了用于开发、测试(包括真实 Docker 集成测试)、类型检查、代码检查和构建的脚本。文档涵盖架构、运维、身份验证决策和贡献指南。