diff --git a/modules/setting/setting.go b/modules/setting/setting.go index 63635636b2..6307cc87d6 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -624,18 +624,6 @@ please consider changing to GITEA_CUSTOM`) sec := Cfg.Section("server") AppName = Cfg.Section("").Key("APP_NAME").MustString("Gitea: Git with a cup of tea") - AppURL = sec.Key("ROOT_URL").MustString("http://localhost:3000/") - AppURL = strings.TrimRight(AppURL, "/") + "/" - - // Check if has app suburl. - url, err := url.Parse(AppURL) - if err != nil { - log.Fatal(4, "Invalid ROOT_URL '%s': %s", AppURL, err) - } - // Suburl should start with '/' and end without '/', such as '/{subpath}'. - // This value is empty if site does not have sub-url. - AppSubURL = strings.TrimSuffix(url.Path, "/") - AppSubURLDepth = strings.Count(AppSubURL, "/") Protocol = HTTP if sec.Key("PROTOCOL").String() == "https" { @@ -656,6 +644,24 @@ please consider changing to GITEA_CUSTOM`) Domain = sec.Key("DOMAIN").MustString("localhost") HTTPAddr = sec.Key("HTTP_ADDR").MustString("0.0.0.0") HTTPPort = sec.Key("HTTP_PORT").MustString("3000") + + defaultAppURL := string(Protocol) + "://" + Domain + if (Protocol == HTTP && HTTPPort != "80") || (Protocol == HTTPS && HTTPPort != "443") { + defaultAppURL += ":" + HTTPPort + } + AppURL = sec.Key("ROOT_URL").MustString(defaultAppURL) + AppURL = strings.TrimRight(AppURL, "/") + "/" + + // Check if has app suburl. + url, err := url.Parse(AppURL) + if err != nil { + log.Fatal(4, "Invalid ROOT_URL '%s': %s", AppURL, err) + } + // Suburl should start with '/' and end without '/', such as '/{subpath}'. + // This value is empty if site does not have sub-url. + AppSubURL = strings.TrimSuffix(url.Path, "/") + AppSubURLDepth = strings.Count(AppSubURL, "/") + LocalURL = sec.Key("LOCAL_ROOT_URL").MustString(string(Protocol) + "://localhost:" + HTTPPort + "/") OfflineMode = sec.Key("OFFLINE_MODE").MustBool() DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool()