A modern cloud application management solution platform providing comprehensive application deployment, monitoring, and management services throughout the entire lifecycle.
Websoft9 is a cloud application management platform with project-centric organization, featuring layered architecture design and supporting full lifecycle application management in multi-cloud environments. The platform achieves resource isolation, permission control, cost management, and team collaboration through project-based organization.
- api-service: Core backend service built with Golang + Gin + GORM, providing RESTful API interfaces
- websoft9-agent: Client agent deployed on server nodes, communicating with the server via gRPC, responsible for task execution and monitoring data collection
- Overview Dashboard: Project overview board, monitoring overview board
- Application Quick Navigation: Quick access portal for deployed applications
- Dashboard: Monitoring board, task board, resource board
- Folders: Project folders, personal folder management
- Application Management: Query, uninstall, update, publish, clone, configure, migrate
- Workflows: Canvas orchestration, component management, task scheduling
- Project Resources: Resource groups, servers, secrets, databases, application gateways, certificates, cloud resources
- Project Teams: Member management, role assignment, permission control
- Project Settings: Environment variables, project configuration
- Application Marketplace List: Application categorization, search, deployment
- Application Wishlist: Requirement submission, voting, bounty mechanism
- Project Management: Project creation, modification, deletion
- Platform Settings: Basic settings, system updates, system services, SMTP, SMS, Webhook, etc.
- Security Management: Role management, permission management, authentication management
- User Management: User CRUD operations
- Alert Notifications: Alert queries, rule configuration, push management
- Personal Center: Personal profile, personal settings
- Audit Logs: Operation records, log queries
Core backend service built with Golang + Gin + GORM.
Tech Stack:
- Golang 1.24+
- Gin Web Framework
- GORM ORM Framework
- SQLite Database
- Redis Cache
- InfluxDB Time Series Database
- JWT Authentication
- gRPC Communication
Client agent deployed on server nodes, responsible for task execution and monitoring data collection.
Tech Stack:
- 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+
-
Clone Repository
git clone <repository-url> cd webox
-
Start API Service
cd api-service go mod tidy make init-db # Initialize database make run # Start development service
-
Start Agent
cd websoft9-agent go mod tidy make build sudo ./websoft9-agent
# Build and run API service
cd api-service
docker build -t websoft9/api-service .
docker run -p 8080:8080 -p 9090:9090 websoft9/api-service
# Build and run Agent
cd websoft9-agent
docker build -t websoft9/agent .
docker run --privileged websoft9/agent
- API Testing: Apifox
- CI/CD: GitHub Actions
- AI Programming: GitHub Copilot, Claude Code
webox/
├── api-service/ # Backend API service
│ ├── main.go
│ ├── internal/
│ │ ├── config/ # Configuration management
│ │ ├── controller/ # Controller layer
│ │ ├── service/ # Business logic layer
│ │ ├── repository/ # Data access layer
│ │ ├── middleware/ # Middleware
│ │ └── model/ # Data models
│ ├── pkg/ # Common packages
│ └── docs/ # API documentation
└── websoft9-agent/ # Client agent
├── cmd/ # Command line entry
├── internal/ # Internal packages
│ ├── agent/ # Agent core logic
│ ├── monitor/ # Monitoring data collection
│ └── executor/ # Task executor
└── pkg/ # Common packages
- Follow Go language coding standards
- Use dependency injection patterns
- Maintain interface-implementation separation
- Implement comprehensive error handling
- Add appropriate logging