https://github.com/websoft9/webox
Next edition of Websoft9
https://github.com/websoft9/webox
Last synced: 5 months ago
JSON representation
Next edition of Websoft9
- Host: GitHub
- URL: https://github.com/websoft9/webox
- Owner: Websoft9
- Created: 2025-01-23T01:49:16.000Z (over 1 year ago)
- Default Branch: develop
- Last Pushed: 2025-12-08T06:51:58.000Z (7 months ago)
- Last Synced: 2025-12-24T10:16:23.225Z (6 months ago)
- Language: Go
- Size: 271 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 69
-
Metadata Files:
- Readme: README.Zh_CN.md
- Contributing: CONTRIBUTING.Zh_CN.md
- Security: SECURITY.Zh_CN.md
Awesome Lists containing this project
README
# Websoft9 平台
现代化的云应用管理解决方案平台,提供应用部署、监控、管理等全生命周期服务。
## 项目概述
Websoft9 是一个以项目为核心组织单元的云应用管理平台,采用分层架构设计,支持多云环境下的应用全生命周期管理。平台通过项目维度实现资源隔离、权限控制、成本管控和团队协作。
### 核心架构组件
- **api-service**: 核心后端服务,基于 Golang + Gin + GORM 构建,提供 RESTful API 接口
- **websoft9-agent**: 部署在服务器节点的客户端代理,通过 gRPC 与服务端通信,负责任务执行和监控数据采集
## 平台功能模块
### 1. 平台主页
- **总览仪表盘**: 项目总览看板、监控总览看板
- **应用快捷导航**: 已部署应用的快速访问入口
### 2. 项目管理 (核心模块)
- **仪表盘**: 监控看板、任务看板、资源看板
- **文件夹**: 项目文件夹、个人文件夹管理
- **应用管理**: 查询、卸载、更新、发布、克隆、配置、迁移
- **工作流**: 画布编排、组件管理、任务调度
- **项目资源**: 资源组、服务器、密钥、数据库、应用网关、证书、云资源
- **项目团队**: 成员管理、角色分配、权限控制
- **项目设置**: 环境变量、项目配置
### 3. 应用市场
- **应用市场列表**: 应用分类、搜索、部署
- **应用心愿单**: 需求提交、投票、悬赏机制
### 4. 平台管理
- **项目管理**: 项目创建、修改、删除
- **平台设置**: 基本设置、系统更新、系统服务、SMTP、短信、Webhook等
- **安全管理**: 角色管理、权限管理、认证管理
- **用户管理**: 用户增删改查
- **告警通知**: 告警查询、规则配置、推送管理
- **个人中心**: 个人资料、个人设置
- **审计日志**: 操作记录、日志查询
## 技术架构
### API Service (后端服务)
基于 Golang + Gin + GORM 构建的核心后端服务。
**技术栈:**
- Golang 1.24+
- Gin Web 框架
- GORM ORM 框架
- SQLite 数据库
- Redis 缓存
- InfluxDB 时序数据库
- JWT 认证
- gRPC 通信
### Websoft9 Agent (客户端代理)
部署在服务器节点的客户端代理,负责任务执行和监控数据采集。
**技术栈:**
- Golang
- gRPC (grpc-go)
- Redis (go-redis)
- InfluxDB (influxdb-client-go)
- Docker Engine API
## 快速开始
### 环境要求
- Go 1.24+
- Docker 20.10+
- SQLite 3.0+ / MySQL 8.0+
- Redis 6.0+
- InfluxDB 2.0+
### 开发环境搭建
1. **克隆仓库**
```bash
git clone
cd webox
```
2. **启动 API 服务**
```bash
cd api-service
go mod tidy
make run # 启动开发服务
```
3. **启动 Agent 代理**
```bash
cd websoft9-agent
go mod tidy
make build
sudo ./websoft9-agent
```
### Docker 部署
```bash
# 构建并运行 API 服务
cd api-service
docker build -t websoft9/api-service .
docker run -p 8080:8080 -p 9090:9090 websoft9/api-service
# 构建并运行 Agent
cd websoft9-agent
docker build -t websoft9/agent .
docker run --privileged websoft9/agent
```
## 开发工具链
- **API 测试**: [Apifox](https://apifox.com/)
- **CI/CD**: GitHub Actions
- **AI 编程**: [GitHub Copilot](https://github.com/features/copilot), [Claude Code](https://docs.anthropic.com/zh-CN/docs/claude-code/overview)
## 项目结构
```text
webox/
├── api-service/ # 后端 API 服务
│ ├── main.go
│ ├── internal/
│ │ ├── config/ # 配置管理
│ │ ├── controller/ # 控制器层
│ │ ├── service/ # 业务逻辑层
│ │ ├── repository/ # 数据访问层
│ │ ├── middleware/ # 中间件
│ │ └── model/ # 数据模型
│ ├── pkg/ # 公共包
│ └── docs/ # API 文档
└── websoft9-agent/ # 客户端代理
├── cmd/ # 命令行入口
├── internal/ # 内部包
│ ├── agent/ # 代理核心逻辑
│ ├── monitor/ # 监控数据采集
│ └── executor/ # 任务执行器
└── pkg/ # 公共包
```
## 开发规范
1. 遵循 Go 语言编码规范
2. 使用依赖注入模式
3. 保持接口与实现分离
4. 实现完善的错误处理
5. 添加适当的日志记录