From 69e4b6910b024ec99521c1ca570ed4d232e11247 Mon Sep 17 00:00:00 2001 From: 6543 <6543@obermui.de> Date: Thu, 3 Sep 2020 01:12:24 +0200 Subject: [PATCH] Make default StaticRootPath compile time settable (#12371) (#12652) Make it possible to compile the default location of StaticRootPath independent from AppWorkPath Co-authored-by: Andrew Thornton Co-authored-by: Andrew Thornton Co-authored-by: techknowlogick --- docs/content/doc/installation/from-source.en-us.md | 3 ++- modules/setting/setting.go | 5 ++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/content/doc/installation/from-source.en-us.md b/docs/content/doc/installation/from-source.en-us.md index d70e000352b..83e480be23d 100644 --- a/docs/content/doc/installation/from-source.en-us.md +++ b/docs/content/doc/installation/from-source.en-us.md @@ -141,7 +141,7 @@ Gitea will search for a number of things from the `CustomPath`. By default this the `custom/` directory in the current working directory when running Gitea. It will also look for its configuration file `CustomConf` in `$CustomPath/conf/app.ini`, and will use the current working directory as the relative base path `AppWorkPath` for a number configurable -values. +values. Finally the static files will be served from `StaticRootPath` which defaults to the `AppWorkPath`. These values, although useful when developing, may conflict with downstream users preferences. @@ -152,6 +152,7 @@ using the `LDFLAGS` environment variable for `make`. The appropriate settings ar * To set the `CustomPath` use `LDFLAGS="-X \"code.gitea.io/gitea/modules/setting.CustomPath=custom-path\""` * For `CustomConf` you should use `-X \"code.gitea.io/gitea/modules/setting.CustomConf=conf.ini\"` * For `AppWorkPath` you should use `-X \"code.gitea.io/gitea/modules/setting.AppWorkPath=working-path\"` +* For `StaticRootPath` you should use `-X \"code.gitea.io/gitea/modules/setting.StaticRootPath=static-root-path\"` Add as many of the strings with their preceding `-X` to the `LDFLAGS` variable and run `make build` with the appropriate `TAGS` as above. diff --git a/modules/setting/setting.go b/modules/setting/setting.go index 62ca10a1567..45e55a2f945 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -666,7 +666,10 @@ func NewContext() { PortToRedirect = sec.Key("PORT_TO_REDIRECT").MustString("80") OfflineMode = sec.Key("OFFLINE_MODE").MustBool() DisableRouterLog = sec.Key("DISABLE_ROUTER_LOG").MustBool() - StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(AppWorkPath) + if len(StaticRootPath) == 0 { + StaticRootPath = AppWorkPath + } + StaticRootPath = sec.Key("STATIC_ROOT_PATH").MustString(StaticRootPath) StaticCacheTime = sec.Key("STATIC_CACHE_TIME").MustDuration(6 * time.Hour) AppDataPath = sec.Key("APP_DATA_PATH").MustString(path.Join(AppWorkPath, "data")) EnableGzip = sec.Key("ENABLE_GZIP").MustBool()