# opsx-web-lite **Repository Path**: attacker/opsx-web-lite ## Basic Information - **Project Name**: opsx-web-lite - **Description**: opsx-web-lite - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-21 - **Last Updated**: 2026-08-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OPSX Web Lite 轻量级运维管理平台,基于 Go (Gin) + Vue 3 开发的企业级运维系统基础框架。 ## ✨ 特性 - 🔐 **RBAC 权限管理** - 基于角色的访问控制,Tab 导航统一管理中心 - 🎨 **主题系统** - 6 套预设主题一键切换,Element Plus 主题色同步 - 🧩 **模块化架构** - core/builtin/plugin 三级模块,支持动态启用/禁用 - 👥 **用户管理** - 用户CRUD、批量导入、LDAP集成 - ⏰ **定时任务** - Cron表达式支持、执行历史记录 - 📊 **系统监控** - 实时资源监控、WebSocket推送 - 📝 **操作审计** - 完整的操作日志记录 - 🔒 **安全防护** - JWT认证、MFA双因素认证、密码策略 - 🚀 **高性能** - Gzip压缩、数据库连接池、异步日志 - 🛠️ **开发友好** - Swagger文档、热重载、一键启动 ## 🚀 快速开始 ### 环境要求 - Go 1.24+ - Node.js 20+ - SQLite (默认) / MySQL / PostgreSQL ### 安装依赖 ```bash # 使用 Makefile make install # 或手动安装 cd backend && go mod download cd ../frontend && npm install ``` ### 配置环境变量 ```bash # 复制环境变量模板 cp .env.example .env # 编辑 .env 文件,根据需要进行配置 ``` ### 启动服务 ```bash # 一键启动前后端 ./run.sh start # 或使用 Makefile make dev # 查看服务状态 ./run.sh status # 停止服务 ./run.sh stop ``` 访问地址: - 前端:`http://localhost:5181` - 后端:`http://localhost:9001` - API文档:`http://localhost:9001/api/swagger/index.html` 默认账号:`admin / admin` ### 单二进制部署 生产部署可将 Vue 前端构建资源嵌入 Go 服务,生成无需 Node.js 的单文件程序: ```bash # 构建根目录的 ./opsx-web ./run.sh build # 或使用 Makefile make build-binary # 启动、查看状态、停止 ./run.sh binary start ./run.sh binary status ./run.sh binary stop ``` 单二进制默认监听 `9001`,页面、API 与 Swagger 由同一个端口提供:`http://localhost:9001`。 ## 📁 项目结构 ``` opsx-web-lite/ ├── backend/ # Go 后端 (Gin框架) │ ├── cmd/ # 初始化脚本 │ ├── config/ # 配置管理 │ ├── database/ # 数据库连接和迁移 │ ├── middleware/ # 中间件 (认证、CORS、日志) │ ├── router/ # 路由定义 │ ├── utils/ # 工具函数 │ ├── internal/ # 私有应用代码 │ │ ├── controller/ # 控制器(按功能域:auth/user/rbac/system/cron/monitor) │ │ ├── service/ # 业务逻辑(按功能域) │ │ ├── dto/ # 数据传输对象(按功能域) │ │ └── model/ # GORM 数据模型(按功能域) │ └── docs/ # 后端开发文档 ├── frontend/ # Vue 3 前端 │ ├── src/ │ │ ├── modules/ # 功能模块(auth/user/rbac/system/cron/monitor/dashboard) │ │ │ └── / │ │ │ ├── api/ # API接口封装 │ │ │ ├── views/ # 页面视图 │ │ │ ├── store.js# Pinia 状态(可选) │ │ │ └── index.js# 模块路由与元数据 │ │ ├── components/ # 公共组件 │ │ ├── layouts/ # 布局 │ │ ├── router/ # 路由配置 │ │ ├── utils/ # 工具函数 │ │ └── styles/ # 样式文件 │ └── public/ ├── run.sh # 一键启动脚本 └── Makefile # 常用命令 ``` ## 🛠️ 常用命令 ```bash # 开发 make dev # 启动开发环境 make install # 安装依赖 make status # 查看服务状态 make logs # 查看实时日志 # 构建 make build # 构建前后端 make build-ui # 仅构建前端 make build-api # 仅构建后端 make build-binary # 构建前后端合一的 opsx-web # 代码质量 make test # 运行测试 make lint # 代码检查 make clean # 清理构建产物 # 服务管理 make stop # 停止服务 make restart # 重启服务 ``` ## ⚙️ 配置说明 ### 后端配置 (.env) | 变量 | 说明 | 默认值 | |------|------|--------| | `PORT` | 服务端口 | 9001 | | `GIN_MODE` | 运行模式 | debug | | `JWT_SECRET` | JWT密钥 | 必填 | | `DB_DRIVER` | 数据库类型 | sqlite | | `DB_NAME` | 数据库名 | db.sqlite3 | ### 前端配置 | 变量 | 说明 | 默认值 | |------|------|--------| | `VITE_API_BASE_URL` | API基础URL | http://localhost:9001/api | ## 🔒 安全建议 1. **生产环境必须修改 JWT_SECRET**,使用强密码 2. 启用 HTTPS,配置 SSL 证书 3. 修改默认管理员密码 4. 配置 CORS 白名单,限制访问来源 5. 启用数据库密码(如使用 MySQL/PostgreSQL) ## 📝 更新日志 ### v1.0.0 - ✨ 初始版本发布 - 🔐 JWT认证和MFA双因素认证 - 👥 RBAC权限管理 - ⏰ 定时任务管理 - 📊 系统资源监控 ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 许可证 BSD License