diff --git a/agent/app/service/app.go b/agent/app/service/app.go index 733f4e333..e66441ad7 100644 --- a/agent/app/service/app.go +++ b/agent/app/service/app.go @@ -537,6 +537,11 @@ func (a AppService) Install(req request.AppInstallCreate) (appInstall *model.App if err = runScript(t, appInstall, "init"); err != nil { return err } + if app.Key == "openresty" { + if err = handleOpenrestyFile(appInstall); err != nil { + return err + } + } if err = upApp(t, appInstall, req.PullImage); err != nil { return err } diff --git a/agent/app/service/app_utils.go b/agent/app/service/app_utils.go index df9b48f3a..30c898128 100644 --- a/agent/app/service/app_utils.go +++ b/agent/app/service/app_utils.go @@ -1821,3 +1821,29 @@ func getAppTags(appID uint, lang string) ([]response.TagDTO, error) { } return res, nil } + +func handleOpenrestyFile(appInstall *model.AppInstall) error { + websites, _ := websiteRepo.List() + if len(websites) == 0 { + return nil + } + hasDefaultWebsite := false + for _, website := range websites { + if website.DefaultServer { + hasDefaultWebsite = true + break + } + } + if !hasDefaultWebsite { + return nil + } + installDir := appInstall.GetPath() + defaultConfigPath := path.Join(installDir, "conf", "default", "00.default.conf") + fileOp := files.NewFileOp() + content, err := fileOp.GetContent(defaultConfigPath) + if err != nil { + return err + } + newContent := strings.ReplaceAll(string(content), "default_server", "") + return fileOp.WriteFile(defaultConfigPath, strings.NewReader(newContent), constant.FilePerm) +}