# heracles-LDMT
**Repository Path**: heracle/heracles-LDMT
## Basic Information
- **Project Name**: heracles-LDMT
- **Description**: Linux Deployment Maintenance Tools
用于多台linux环境部署和维护的工具,预期能做到国产化开源替代Ansible
- **Primary Language**: Java
- **License**: AGPL-3.0
- **Default Branch**: master
- **Homepage**: https://www.heracles.org.cn
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2019-09-23
- **Last Updated**: 2025-06-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# heracles-LDMT
### 介绍
heracles-LDMT(Linux Deployment Maintenance Tools)
**一、项目背景**
Heracles-LDMT 是一款基于 Java 开发的轻量化 Web 运维工具,专为多节点 Linux 环境设计。通过 SSH 协议实现无客户端化操作,支持国产化操作系统(如银河麒麟、统信 UOS)及主流 Linux 发行版(CentOS、Ubuntu 等),提供批量部署、安全审计、自动化运维能力,降低运维复杂度。
**二、核心功能**
1、多租户管理:分权管控不同 Linux 发行版(Debian/RedHat/SUSE 等),适配各系统包管理命令。
2、批量操作:多线程批量执行环境部署(更新源、安装 Java/PHP/MySQL 等),支持自定义应用模板。
3、文件管理:类 SecureFX 的 Web 文件操作(上传/下载/压缩/解压),支持属性查看与编辑。
4、安全审计:影子密码存储 SSH 凭据,记录完整操作日志,支持安装过程追溯。
5、轻量化部署:内置 SQLite 数据库,无需额外配置,解压即用。
(待实现)6、AI智能运维:联动DeepSeek分析日志,预测硬件故障,提供修复建议。
**三、适用场景**
1、企业 IT 部门批量管理多台 Linux 服务器。
2、开发团队快速搭建测试环境(Java/PHP/MySQL 等)。
3、运维人员替代部分 Ansible 功能,避免编写 YAML 脚本。
### 软件架构
**一、技术栈**
| 模块 | 技术选型 |
|-----------|--------------------------------------------|
| 核心框架 | Spring Boot 2.1 + Spring MVC 5.0 |
| 安全控制 | Apache Shiro 1.4(权限管理) + 影子密码加密 |
| 持久层 | MyBatis 3.5 + Druid 1.1(连接池) + SQLite(内置数据库) |
| 前端交互 | Vue2.x + Element UI(可视化操作) |
| SSH 连接 | jcraft 0.1.55(实现 SSH 协议通信) |
| 日志管理 | SLF4J 1.7 + Log4j(操作审计) |
| (待实现)AI模块 | DeepSeek API(日志分析) + Python脚本(自动化任务) |
**二、架构图**
用户浏览器 → Vue前端 → Spring Boot API → MyBatis/SQLite
↓ ↓
SSH连接池(jcraft) → 目标Linux集群
↓
操作日志记录 → 审计模块
### 安装教程
**一、环境要求**
1、操作系统:Windows/Linux/macOS
2、JDK 1.8+
3、Maven 3.0+
**二、本地部署步骤**
1、克隆代码
```
git clone https://gitee.com/heracle/heracles-LDMT.git
cd heracles-LDMT
```
2、安装Lombok插件
IDEA/Eclipse:需安装 Lombok 插件(避免编译报错)。
3、编译项目
```
mvn clean install # 在项目根目录执行
```
4、启动服务
1、运行 heracles-LDMT-web 模块下的 StartUpServer.java。
2、访问地址:http://localhost/
3、默认账号:admin/admin
**三、一键启动(Docker可选)**
```
docker-compose up -d # 需提前配置 Docker 环境
```
### 使用说明
**一、主要功能操作指南**
| 功能 | 操作路径 | 示例 |
|--------------|-------------------------|--------------------------------------------|
| 添加 Linux 主机 | 主机管理 → 新增主机 | 输入 IP、SSH 端口(默认 22)、认证方式(密码/密钥) |
| 批量安装 Java 环境 | 应用中心 → 选择模板 → 勾选主机 → 执行 | 使用预设模板“一键安装 JDK 8”,自动适配 Debian/RedHat 包命令 |
| 文件操作 | 文件管理 → 选择主机 → 操作文件 | 上传 app.tar.gz 至 /opt,右键解压 |
| 自定义应用模板 | 模板管理 → 新建模板 → 组合命令 | 定义“更新阿里云源”模板,替换变量 `$SOURCE_INSTALL_COMMAND$` |
| 查看操作日志 | 审计日志 → 按时间/主机筛选 | 检索某台主机的 MySQL 安装记录 |
**二、特色功能:变量替换**
1、系统内置变量:`$IP$`(目标主机 IP)、`$LOGIN_NAME$`(登录用户)、`$BASE_DIR$`(软件目录)。
2、示例命令:`echo "Server IP: $SERVER_IP$" > /tmp/server_info.txt`
### 参与贡献
**一、代码规范**
Java:遵循阿里巴巴开发规范,使用 Lombok 简化代码。
前端:ESLint 校验 + Element UI 组件化开发。
提交信息格式:[模块] 描述(如 [SSH] 优化连接池超时机制)
**二、开发流程**
1、Fork 项目至个人仓库。
2、创建分支:git checkout -b feat/your-feature。
3、提交 Pull Request 至 dev 分支,描述修改内容。
**三、贡献方向**
功能扩展:增加更多预置应用模板(如 Docker 部署)。
安全增强:支持 HTTPS 协议、审计日志加密。
兼容性:扩展对 Alpine、Arch Linux 的支持。
### 码云特技
| 特技 | 说明 |
|-------|-----------------------------------------------|
| 在线演示 | 访问 Demo 环境 快速体验(账号:admin/admin) |
| 自动化构建 | Push 代码至 main 分支后,自动触发 Maven 打包并生成 Docker 镜像。 |
| 社区支持 | 官方 QQ 群(21600754)实时答疑,Heracles 开源社区 提供文档与案例。 |
| 贡献者榜单 | 提交 PR 并入后,自动展示在项目首页“贡献者”栏目。 |
**立即行动**
码云仓库:https://gitee.com/heracle/heracles-LDMT
问题反馈:31307@sohu.com
社区交流QQ群:21600754,468314825