diff --git a/backend/app/repo/app_install.go b/backend/app/repo/app_install.go index a70abb442..00bf3742d 100644 --- a/backend/app/repo/app_install.go +++ b/backend/app/repo/app_install.go @@ -192,10 +192,19 @@ func (a *AppInstallRepo) LoadBaseInfo(key string, name string) (*RootInfo, error if err := json.Unmarshal([]byte(appInstall.Env), &envMap); err != nil { return nil, err } - password, ok := envMap["PANEL_DB_ROOT_PASSWORD"].(string) - if ok { - info.Password = password + switch app.Key { + case "mysql": + password, ok := envMap["PANEL_DB_ROOT_PASSWORD"].(string) + if ok { + info.Password = password + } + case "redis": + password, ok := envMap["PANEL_REDIS_ROOT_PASSWORD"].(string) + if ok { + info.Password = password + } } + userPassword, ok := envMap["PANEL_DB_USER_PASSWORD"].(string) if ok { info.UserPassword = userPassword diff --git a/backend/app/service/app_install.go b/backend/app/service/app_install.go index 2b9912110..f47971b19 100644 --- a/backend/app/service/app_install.go +++ b/backend/app/service/app_install.go @@ -731,7 +731,11 @@ func updateInstallInfoInDB(appKey, appName, param string, isRestart bool, value envKey := "" switch param { case "password": - envKey = "PANEL_DB_ROOT_PASSWORD=" + if appKey == "mysql" { + envKey = "PANEL_DB_ROOT_PASSWORD=" + } else { + envKey = "PANEL_REDIS_ROOT_PASSWORD=" + } case "port": envKey = "PANEL_APP_PORT_HTTP=" case "user-password": @@ -760,6 +764,10 @@ func updateInstallInfoInDB(appKey, appName, param string, isRestart bool, value if param == "password" { oldVal = fmt.Sprintf("\"PANEL_DB_ROOT_PASSWORD\":\"%v\"", appInstall.Password) newVal = fmt.Sprintf("\"PANEL_DB_ROOT_PASSWORD\":\"%v\"", value) + if appKey == "redis" { + oldVal = fmt.Sprintf("\"PANEL_REDIS_ROOT_PASSWORD\":\"%v\"", appInstall.Password) + newVal = fmt.Sprintf("\"PANEL_REDIS_ROOT_PASSWORD\":\"%v\"", value) + } _ = appInstallRepo.BatchUpdateBy(map[string]interface{}{ "param": strings.ReplaceAll(appInstall.Param, oldVal, newVal), "env": strings.ReplaceAll(appInstall.Env, oldVal, newVal),