# lite-deploy **Repository Path**: marching_cc/lite-deploy ## Basic Information - **Project Name**: lite-deploy - **Description**: 一个轻量级、跨平台的自动化部署和监控平台,支持应用部署、中间件安装、定时任务执行和实时监控。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-11 - **Last Updated**: 2026-02-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 轻量部署平台(Lite Deploy) 一个轻量级、跨平台的自动化部署和监控平台,支持应用部署、中间件安装、定时任务执行和实时监控。 ## 🎯 核心特性 ### 部署功能 - **脚本部署**:支持自定义脚本在远程主机上执行 - **应用部署**:支持预定义的应用模板(Node.js、Python、Java、Go 等) - **中间件部署**:支持 Docker、Nginx、MySQL 等常用中间件 - **部署回滚**:支持部署失败后的一键回滚 - **多主机部署**:支持同时向多台主机批量部署 ### 监控功能 - **实时监控**:CPU、内存、磁盘等系统资源监控 - **进程监控**:应用进程状态监控和自动重启 - **日志收集**:应用日志实时收集和分析 - **告警机制**:资源使用超过阈值时自动告警 ### 定时任务 - **Cron 任务支持**:灵活的 Cron 表达式配置 - **多主机执行**:支持在指定主机或主机组上执行任务 - **并发策略**:防止任务重叠执行、串行执行或并发执行 - **超时控制**:任务执行超时自动终止 ### 认证和安全 - **单用户认证**:简易登录系统(默认账户:admin/admin123) - **密码修改**:系统管理中支持修改登录密码 - **SSH 密钥加密**:SSH 认证信息使用 Fernet 对称加密存储 - **会话管理**:基于 Cookie 的会话认证 ## 🚀 快速开始 ### 方式一:在线安装(推荐有网络环境) ```bash # 1. 克隆项目 git clone git@gitee.com:marching_cc/appbase_Light.git cd appbase_Light # 2. 安装依赖 pip install -r requirements.txt # 3. 配置并启动 cp config/config.yaml.example config/config.yaml python3 start.py --host 0.0.0.0 --port 8001 ``` ### 方式二:离线安装(内网服务器) #### 步骤 1:在有网络的机器上下载依赖 ```bash cd lite-deploy # macOS (Intel/Apple Silicon) ./download_dependencies.sh # Linux 服务器 ./download_dependencies.sh # Windows (PowerShell) .\download_dependencies.ps1 ``` #### 步骤 2:一键打包 ```bash ./package.sh ``` 这会生成 `lite-deploy-deploy.zip`,包含所有平台的离线依赖。 #### 步骤 3:上传到内网服务器并安装 ```bash # 解压 unzip lite-deploy-deploy.zip cd lite-deploy-deploy # 一键安装(自动选择对应平台的依赖) chmod +x install.sh ./install.sh # 启动服务 python3 start.py --host 0.0.0.0 --port 8001 ``` ### 方式三:Docker 部署(推荐) ```dockerfile FROM python:3.9-slim WORKDIR /app COPY . . RUN pip install -r requirements.txt EXPOSE 8001 CMD ["python3", "start.py", "--host", "0.0.0.0", "--port", "8001"] ``` ```bash # 构建 docker build -t lite-deploy:1.0 . # 运行 docker run -d -p 8001:8001 --name lite-deploy lite-deploy:1.0 ``` ## 📁 项目结构 ``` lite-deploy/ # 项目根目录 ├── app/ # 应用源代码 │ ├── api/ # API 路由层 │ │ ├── auth.py # 认证 API │ │ ├── deploy.py # 部署 API │ │ ├── hosts.py # 主机管理 API │ │ ├── monitor.py # 监控 API │ │ ├── settings.py # 系统设置 API │ │ └── tasks.py # 定时任务 API │ ├── core/ # 核心模块 │ │ ├── config.py # 配置管理 │ │ ├── db.py # 数据库连接 │ │ ├── scheduler.py # 任务调度器 │ │ └── security.py # 安全加密模块 │ ├── crud/ # 数据访问层 │ │ ├── deploy.py # 部署记录 CRUD │ │ ├── host.py # 主机信息 CRUD │ │ └── task.py # 定时任务 CRUD │ ├── models/ # 数据模型 │ │ ├── base.py # 基础模型类 │ │ ├── deploy.py # 部署记录模型 │ │ ├── host.py # 主机模型 │ │ ├── task.py # 任务模型 │ │ └── user.py # 用户模型 │ ├── schemas/ # Pydantic 数据验证 │ ├── services/ # 业务逻辑层 │ │ ├── auth.py # 认证服务 │ │ ├── deploy.py # 部署服务 │ │ ├── monitor.py # 监控服务 │ │ ├── ssh_client.py # SSH 客户端 │ │ └── task_executor.py # 任务执行器 │ ├── static/ # 前端静态资源 │ └── templates/ # HTML 模板 ├── config/ # 配置文件目录 │ ├── config.yaml # 项目配置 │ ├── config.yaml.example # 配置示例 │ ├── .secret_key # 加密密钥 │ └── auth.json # 用户认证 ├── packages/ # 离线依赖(可选) │ ├── macOS/ # macOS 依赖包 │ ├── Linux/ # Linux 依赖包 │ └── Windows/ # Windows 依赖包 ├── scripts/ # 部署脚本 │ ├── download_dependencies.sh # 依赖下载 │ ├── package.sh # 一键打包 │ └── install.sh # 智能安装 ├── start.py # 启动脚本 ├── requirements.txt # Python 依赖 ├── README.md # 项目文档 └── lite_deploy.db # SQLite 数据库 ``` ## 🔧 配置说明 ### 数据库配置 ```yaml database: url: "sqlite:///lite_deploy.db" # SQLite(推荐本地开发) # url: "postgresql://user:password@localhost:5432/lite_deploy" # PostgreSQL(生产环境) ``` ### SSH 配置 ```yaml ssh: timeout: 30 # SSH 连接超时(秒) retry_times: 3 # 重试次数 retry_interval: 5 # 重试间隔(秒) ``` ### 部署配置 ```yaml deploy: tmp_dir: "/tmp" # 远程主机临时目录 cleanup: true # 是否清理临时文件 timeout: 3600 # 部署超时(秒) ``` ## 📊 使用示例 ### 1. 添加主机 - 进入 **主机管理** 页面 - 点击 **添加主机** 按钮 - 填入主机信息(IP、端口、用户名、密码或私钥) - 点击 **测试连接** 验证连通性 ### 2. 部署应用 - 进入 **应用部署** 页面 - 选择应用模板或自定义脚本 - 选择目标主机 - 输入应用参数 - 点击 **部署** 开始执行 ### 3. 创建定时任务 - 进入 **定时任务** 页面 - 点击 **添加任务** 按钮 - 配置 Cron 表达式和执行命令 - 选择执行主机 - 点击 **保存** 后任务自动启动 ### 4. 监控资源 - 进入 **系统监控** 页面 - 选择主机查看实时资源使用情况 - 查看 CPU、内存、磁盘等指标 ## 🔒 安全建议 1. **修改默认密码** - 首次登录后立即修改 admin 密码 2. **配置 HTTPS** - 生产环境建议配置 SSL 证书 3. **限制访问** - 使用防火墙限制应用访问 IP 4. **定期备份** - 备份数据库文件 `lite_deploy.db` 5. **SSH 密钥** - 优先使用 SSH 密钥认证而非密码 ## 🛠️ 技术栈 ### 后端 - **Framework**: FastAPI(高性能 Python Web 框架) - **ORM**: SQLAlchemy 2.0(数据库对象关系映射) - **Database**: SQLite 或 PostgreSQL - **Task Scheduler**: APScheduler(定时任务调度) - **SSH Client**: Paramiko(SSH 协议实现) - **Encryption**: cryptography.fernet(对称加密) ### 前端 - **Framework**: Vanilla JavaScript + Bootstrap 5(无框架依赖) - **HTTP Client**: Axios(AJAX 请求库) - **UI Components**: Bootstrap(响应式设计框架) ### 部署 - **Server**: Uvicorn(异步 ASGI 服务器) - **Package Manager**: pip(Python 包管理) ## 📝 开发指南 ### 运行开发服务器 ```bash python3 start.py --host 127.0.0.1 --port 8001 --reload ``` ### 查看 API 文档 - Swagger UI: http://localhost:8001/docs - ReDoc: http://localhost:8001/redoc ### 代码规范 - Python 代码遵循 PEP 8 规范 - 使用 UTF-8 编码 - 添加必要的代码注释和日志 ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本仓库 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 开启 Pull Request ## 📄 许可证 本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。 ## 📞 联系方式 - **Gitee**: https://gitee.com/marching_cc/appbase_Light - **问题反馈**: 在仓库中提交 Issue ## 🎉 更新日志 ### v1.0.0 (2026-02-11) - ✅ 完成核心部署功能 - ✅ 完成实时监控功能 - ✅ 完成定时任务功能 - ✅ 添加单用户认证系统 - ✅ 优化跨平台兼容性 - ✅ 改进代码稳定性和健壮性 - ✅ 新增多平台离线部署支持(macOS/Linux/Windows) --- **开发者**: 爱吃排骨 **最后更新**: 2026-02-11