From 6baf4ebe855af1b6df1fa08c4a6ded6b271911a0 Mon Sep 17 00:00:00 2001 From: James Allen Date: Wed, 19 Feb 2014 13:21:32 +0000 Subject: [PATCH] Take config from SHARELATEX_CONFIG env variable --- libraries/settings/README.md | 19 +++++++++++++++++++ libraries/settings/Settings.coffee | 11 +++++++---- 2 files changed, 26 insertions(+), 4 deletions(-) create mode 100644 libraries/settings/README.md diff --git a/libraries/settings/README.md b/libraries/settings/README.md new file mode 100644 index 0000000000..266092ba9c --- /dev/null +++ b/libraries/settings/README.md @@ -0,0 +1,19 @@ +settings-sharelatex +=================== + +A small module to allow global config settings to be set for all services +within the ShareLaTeX architecture. + +Settings file location +---------------------- + +You can specify a custom location for the settings file by setting the +`SHARELATEX_CONFIG` environment variable. E.g. + + $ export SHARELATEX_CONFIG=/home/james/config/settings.development.coffee + +Otherwise, the settings will be loaded from `config/settings.NODE_ENV.coffee`, +where `NODE_ENV` is another evnironment variable, or defaults to `development`. + +The config directory is first looked for in the current directory, and then relative +to the settings module directory. \ No newline at end of file diff --git a/libraries/settings/Settings.coffee b/libraries/settings/Settings.coffee index b60d6f8396..8f91b46403 100755 --- a/libraries/settings/Settings.coffee +++ b/libraries/settings/Settings.coffee @@ -2,10 +2,13 @@ fs = require "fs" path = require "path" env = (process.env.NODE_ENV or "development").toLowerCase() -possibleConfigFiles = [ - process.cwd() + "/config/settings.#{env}.coffee" - path.normalize(__dirname + "/../../config/settings.#{env}.coffee") -] +if process.env.SHARELATEX_CONFIG? + possibleConfigFiles = [process.env.SHARELATEX_CONFIG] +else + possibleConfigFiles = [ + process.cwd() + "/config/settings.#{env}.coffee" + path.normalize(__dirname + "/../../config/settings.#{env}.coffee") + ] for file in possibleConfigFiles if fs.existsSync(file)