feat: 添加安装页面,支持 SQLite 和 Redis 配置
Build and Deploy / build-and-push (push) Failing after 42s

- 新增安装控制器 (install_controller.go)
- 新增安装服务 (install_service.go)
- 添加 Redis 配置结构到配置服务
- 更新路由注册,添加安装 API
- 创建前端安装页面 (Install.tsx)
- 支持 SQLite 和 MySQL 数据库选择
- Redis 为可选配置
- 安装完成后创建管理员账号

API 端点:
- GET /api/v1/install/status - 获取安装状态
- POST /api/v1/install - 执行安装
This commit is contained in:
2026-07-21 17:07:41 +00:00
parent c55f184cfa
commit f7a7d44ebe
12 changed files with 1134 additions and 9 deletions
+7
View File
@@ -11,6 +11,13 @@ func initPublicAPIRoutes(api *gin.RouterGroup, c *Controllers) {
ctx.JSON(200, gin.H{"message": "pong"})
})
// Install routes (无需认证,仅在未安装时可用)
install := api.Group("/install")
{
install.GET("/status", c.Install.GetInstallStatus)
install.POST("", c.Install.Install)
}
// api.GET("/debug/goroutines", func(ctx *gin.Context) {
// buf := make([]byte, 1024*1024)
// n := runtime.Stack(buf, true)
+1
View File
@@ -71,6 +71,7 @@ func RegisterControllers() *Controllers {
Monitor: controllers.NewMonitorController(executorService),
Interconnect: controllers.NewInterconnectController(interconnectService),
Data: controllers.NewDataController(taskController, envController),
Install: controllers.NewInstallController(),
}
}
+1
View File
@@ -34,6 +34,7 @@ type Controllers struct {
Monitor *controllers.MonitorController
Interconnect *controllers.InterconnectController
Data *controllers.DataController
Install *controllers.InstallController
}
func Setup(c *Controllers) *gin.Engine {