diff --git a/README.md b/README.md new file mode 100644 index 0000000..a76359d --- /dev/null +++ b/README.md @@ -0,0 +1,138 @@ +
+ +![MEGREZ](assets/logo.png) + +# M E G R E Z + +**`🌈 Make Extendable GPU Resource EASY 🚀`** + +**简约、现代、优雅的开源高性能计算平台** + +高效管理, 一键创建容器实例, 支持多节点/多GPU, 现代化 UI + +环境隔离, 互不干扰, 自定义性能配置 + +![Golang](https://img.shields.io/badge/Golang-1.23.4-blue?style=flat-square&logo=go) ![Vue3](https://img.shields.io/badge/Vue-3.4-green?style=flat-square&logo=vue.js) ![Docker](https://img.shields.io/badge/Docker-27.3.1-blue?style=flat-square&logo=docker) ![NVIDIA Container Toolkit](https://img.shields.io/badge/NVIDIA_Container_Toolkit-1.17.3-76B900?style=flat-square&logo=nvidia) + +![PyTorch](https://img.shields.io/badge/PyTorch-555?style=flat-square&logo=pytorch) ![TensorFlow](https://img.shields.io/badge/TensorFlow-555?style=flat-square&logo=tensorflow) ![PaddlePaddle](https://img.shields.io/badge/PaddlePaddle-555?style=flat-square&logo=paddlepaddle) + +![Jupyter](https://img.shields.io/badge/Jupyter-555?style=flat-square&logo=jupyter) ![Prometheus](https://img.shields.io/badge/Prometheus-555?style=flat-square&logo=prometheus) ![Grafana](https://img.shields.io/badge/Grafana-555?style=flat-square&logo=grafana) + +
+ +## ✨ 特色简介 + +✅ 多节点、多GPU支持 + +✅ 容器实例环境隔离 + +✅ 用户数据隔离 + +✅ 深度学习环境预安装 + +✅ 资源配置自定义调整 + +✅ 多用户支持 + +✅ 资源性能监控看板 + +✅ Jupter Notebook 支持 + + +## 📝 安装 & 使用教程 + +> [!WARNING] +> 查看 [**>>> 🚧 正在施工中 <<<**]() + + + +## 📌 效果展示 + +### 登录注册 + +| 登录 | 注册 | +| :-----------------------: | :----------------------------: | +| ![登录](assets/login.png) | ![注册](assets/registered.png) | + +### 创建实例 + +| 算力资源 | 创建实例 | +| --------------------------------------- | --------------------------------- | +| ![创建实例](assets/create_instance.png) | ![](assets/create_instance_2.png) | + +### 实例列表 + +| 实例列表 | 主机详情 | 实例详情 | +| ------------------------------------- | ------------------------------------ | -------------------------------------- | +| ![实例列表](assets/instance_list.jpg) | ![](assets/instance_list_detail.png) | ![](assets/instance_list_detail_1.png) | + +| 实例操作 | 调整实例配置 | +| -------------------------------------- | ------------------------------------------- | +| ![](assets/instance_list_detail_2.png) | ![修改实例列表](assets/change_instance.png) | + +### 内置功能 + +| Jupter Notebook | Grafana 资源监控 | +| ----------------------------------------------- | -------------------------------- | +| ![Jupter NoteBook](./assets/juper-notebook.png) | ![Grafana](./assets/grafana.png) | + +### 系统管理 + +| 节点管理 | 实例管理 | +| ----------------------------------------------------- | --------------------------------------- | +| ![image-20241230213147587](./assets/node-manager.png) | ![实例管理](assets/instance_manage.png) | + +| 用户管理 | 镜像管理 | +| ------------------------------------- | ------------------------------------------------------ | +| ![用户管理](assets/people_manage.png) | ![image-20241230213238801](./assets/image-manager.png) | + + + +## 🙋🏻‍♂️ 用户交流 + +> 🚧 正在建设中... + + + +## ❗️ 免责声明 + +> [!NOTE] +> 本项目所有功能仅供学习和娱乐交流使用。本项目不对任何由使用本项目产生的直接或间接损失负责, 包括但不限于数据丢失、系统损坏、法律风险等。本项目不保证软件的功能完整性、稳定性、安全性和准确性, 也不保证本项目软件硬件的兼容性。本项目不对运行在软件上的内容进行审核或监督, 用户应自行承担使用本软件的风险和责任。本项目保留随时修改或终止软件的权利, 恕不另行通知。 + + + +## ⚠️ 开源许可 + +> [!CAUTION] +> 请在使用或基于本项目二次开发的时候遵守 AGPL-3.0 开源协议及以下附加条款, 否则 **晓声智能科技 将有权追究法律责任**。 + +本项目中下的内容采用 AGPL-3.0 协议授权, 您可自由使用。 + +1. 您可以在遵守 AGPL-3.0 许可证和下述附加条款章节的前提下免费使用这些代码: +2. 如确需闭源,您也可以联系我们购买其他授权, + +### 附加条款 + +基于 AGPL3 协议第七条,您在使用本项目时,需要遵守以下额外条款: + +1. 不可移除本项目的版权声明与作者/来源署名; ([AGPL3 7(b)](LICENSE#L356)) +2. 当重分发经修改后的本软件时,需要在软件名或版本号中采用可识别的方式进行注明; ([AGPL3 7(c)](LICENSE#L360)) +3. 除非得到许可,不得以宣传为目的使用作者姓名; ([AGPL3 7(d)](LICENSE#364)) + +即: +在您部署 MEGREZ 时,需要保留底部的 晓声智能科技 字样,其中的 MEGREZ 字样需指向 本仓库/fork之一的链接。 + + + +若您对源码做出修改/扩展,同样需要以 AGPL-3.0-or-later 开源,您可以以 `Powered by 晓声智能科技, modified by xxx` 格式在页脚注明。 + + + +## 🙏 特别鸣谢 + +> [!TIP] +> 排名不分先后 + +* [mayooot/gpu-docker-api](https://github.com/mayooot/gpu-docker-api): 提供容器操作代码和思路 +* [PrimeVue](https://primevue.org/): 提供前端 UI 框架 +* [Sakai](https://github.com/primefaces/sakai-vue): 提供 UI 设计风格语言 diff --git a/assets/change_instance.png b/assets/change_instance.png new file mode 100644 index 0000000..4cf2795 Binary files /dev/null and b/assets/change_instance.png differ diff --git a/assets/create_instance.png b/assets/create_instance.png new file mode 100644 index 0000000..ba3950e Binary files /dev/null and b/assets/create_instance.png differ diff --git a/assets/create_instance_2.png b/assets/create_instance_2.png new file mode 100644 index 0000000..6d34e25 Binary files /dev/null and b/assets/create_instance_2.png differ diff --git a/assets/grafana.png b/assets/grafana.png new file mode 100644 index 0000000..620aea7 Binary files /dev/null and b/assets/grafana.png differ diff --git a/assets/image-manager.png b/assets/image-manager.png new file mode 100644 index 0000000..260d32a Binary files /dev/null and b/assets/image-manager.png differ diff --git a/assets/instance_list.jpg b/assets/instance_list.jpg new file mode 100644 index 0000000..65c2602 Binary files /dev/null and b/assets/instance_list.jpg differ diff --git a/assets/instance_list_detail.png b/assets/instance_list_detail.png new file mode 100644 index 0000000..6e4ed05 Binary files /dev/null and b/assets/instance_list_detail.png differ diff --git a/assets/instance_list_detail_1.png b/assets/instance_list_detail_1.png new file mode 100644 index 0000000..c171f8e Binary files /dev/null and b/assets/instance_list_detail_1.png differ diff --git a/assets/instance_list_detail_2.png b/assets/instance_list_detail_2.png new file mode 100644 index 0000000..dc3d320 Binary files /dev/null and b/assets/instance_list_detail_2.png differ diff --git a/assets/instance_manage.png b/assets/instance_manage.png new file mode 100644 index 0000000..fd19c73 Binary files /dev/null and b/assets/instance_manage.png differ diff --git a/assets/juper-notebook.png b/assets/juper-notebook.png new file mode 100644 index 0000000..356d2b5 Binary files /dev/null and b/assets/juper-notebook.png differ diff --git a/assets/login.png b/assets/login.png new file mode 100644 index 0000000..7530382 Binary files /dev/null and b/assets/login.png differ diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000..31000f3 Binary files /dev/null and b/assets/logo.png differ diff --git a/assets/monitor.png b/assets/monitor.png new file mode 100644 index 0000000..0317f34 Binary files /dev/null and b/assets/monitor.png differ diff --git a/assets/node-manager.png b/assets/node-manager.png new file mode 100644 index 0000000..8ff5776 Binary files /dev/null and b/assets/node-manager.png differ diff --git a/assets/people_manage.png b/assets/people_manage.png new file mode 100644 index 0000000..d2aa828 Binary files /dev/null and b/assets/people_manage.png differ diff --git a/assets/registered.png b/assets/registered.png new file mode 100644 index 0000000..2754abd Binary files /dev/null and b/assets/registered.png differ